Merhabalar,

Android ile ilgili olarak son iki yazımda Progress Dialog ve Alert Dialog gösterilir bahsetmiştim. Bunlar Android tarafından var olan dialog pencereleri. Peki biz kendimize ait bir dialog penceresi nasıl oluştururuz? Bunun için yapmamız gereken yeni bir Android XML file oluşturmak. Bunun resource tipini de Layout olarak seçelim. Resimdeki gibi layout un hemen altında dialog.xml dosyamız gözükecektir.

Daha sonra dialog.xml dosyamızda dialog penceremiz nasıl görünsün istiyorsanız şekillendiriyorsunuz. Ben resimdeki gibi bir image ve textview koydum sadece.

Burada kullanacağınız resmi res klasörü altındaki drawable-hdpi klasörü altına koymanız iyi olacaktır. Daha sonra image ın source undan resmini seçebilirsiniz.

Benim oluşturduğum dialog.xml in içeriği aşağıdaki gibidir.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20dp"
            android:src="@drawable/warning" />
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="30dp"
            android:text="Uyarı Mesajı...."
            android:textSize="20sp" />
    </LinearLayout>
</LinearLayout>

Daha sonra yapmamız gereken diğer dialog pencerelerinde yaptığımız gibi dialog penceremizi çağırmak ve göstermek. Bunun için main.java dosyamızda aşağıdaki kodu yazmamız yeterlidir.

public class Main extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Button b=(Button) findViewById(R.id.button1);
		b.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Dialog d=new Dialog(Main.this);
				d.setContentView(R.layout.dialog);
				d.setTitle("Önemli");
				d.show();
			}
		});
	}
}

Gördüğünüz gibi dialog.xml dosyamıza d.setContentView(R.layout.dialog); koduyla ulaşıyoruz. Ayrıca dialog penceremizin başlığını da buradan veriyoruz. Projemizi çalıştırdığımızda butona bastığımızda bizim oluşturduğumuz dialog penceremiz resimdeki gibi gözükecektir :)