Android Uygulamaya Dinamik Kontroller Ekleme

Ocak 18, 2013

Merhaba arkadaşlar, geliştirdiğimiz uygulamalarda sadece dizayn tarafından nesneleri ekleyerek işlem yaptırmak bazı durumlarda kullanışlı olmayabilir örneğin; Tüm kullanıcıları listelemeniz gerekiyor bu durumda uygulamanıza dinamik kontrolleri ekleyerek işinizi çok kolay bir şekilde yapabilirsiniz.Yapacağımız örnek için bir tane uygulama oluşturalım ve arayüz’e hiç bir kontrol eklemeyelim.Arayüz’de görünmesini istediğimiz kontrolleri kod tarafında istediğimiz şekilde ve boyutlarda biz hazırlayıp ekranda görünmesini sağlayacağız


.xml kodları


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:id="@+id/llOrtaAlan"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </LinearLayout>

</RelativeLayout>


Ana sınıf’daki kodlarımız


package com.example.dynamicapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;

public class MainActivity extends Activity {

	LinearLayout llOrtaAlan;

	Button btnOrnek1;
	EditText etDeger;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// Arayüz de bulunan LinearLayout kontrol'üne ulaşılıyor
		llOrtaAlan = (LinearLayout) findViewById(R.id.llOrtaAlan);
		// Kontrol'ün Yatay & Dikey bilgisi atanıyor
		//llOrtaAlan.setOrientation(LinearLayout.HORIZONTAL); // Yatay
		 llOrtaAlan.setOrientation(LinearLayout.VERTICAL); // dikey

		// Ekranda görünmesi için dinamik olarak Button kontrol'ü hazrlanıyor
		btnOrnek1 = new Button(this);
		// Genişlik ve yükseklik bilgisi atanıyor
		LinearLayout.LayoutParams btnOrnek1Par = new LinearLayout.LayoutParams(
				160, 60);
		// Hazırlanan değerler atanıyor
		btnOrnek1.setLayoutParams(btnOrnek1Par);
		// Button kontrol'ünün text özelliği atanıyor
		btnOrnek1.setText("Örnek Btn 1");
		// Sol, Üst, Sağ, Alt boşluk bilgileri atanıyor
		btnOrnek1.setPadding(5, 0, 0, 0);
		// btnOrnek1.setPadding(left, top, right, bottom)
		btnOrnek1.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				Mesaj(etDeger.getText().toString());
			}
		});

		// Bilgi girişi yapılacak text kontrolü hazırlanıyor
		etDeger = new EditText(this);
		// Genişlik ve yükseklik bilgisi atanıyor
		LinearLayout.LayoutParams etPar = new LinearLayout.LayoutParams(250, 60);
		// Hazırlanan değerler atanıyor
		etDeger.setLayoutParams(etPar);

		// Hazırlanan kontrol arayüz'e ekleniyor
		llOrtaAlan.addView(btnOrnek1);
		llOrtaAlan.addView(etDeger);

	}

	private void Mesaj(String strMesaj) {
		Toast.makeText(this, strMesaj, Toast.LENGTH_LONG).show();
	}

}


Kod açıklaması satır aralarında detaylı olarak yapılmıştır.



Ekran Görüntüleri


Yatay kod yapısı kullanıldığı zaman






Dikey kod yapısı kullanıldığı zaman







Kaynak Kodları Buradan İndirebilirsiniz




posted in Android by gokhan

Follow comments via the RSS Feed | Yorum yapın | Trackback URL

Leave Your Comment

*

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org