#12 – Uyarı Diyalogları(Alert Dialogs)


Merhaba, bu yazımda android teki uyarı diyalogları(alert dialogs) anlatılacaktır.

Uyarı diyalogları ekranı kaplamazlar, genelde kullanıcıya bir seçim yaptırmak veya kullanıcıdan ek bir bilgi almak için kullanılırlar. Genel görünümü aşağıda verilmiştir.

layoutofadialogÜstte görüldüğü gibi bu diyaloglar üç bölgeden oluşur.

1. Başlık
2. İçerik
3. Butonlar (olaylar ve seçimler için)

Uygulama Örneği (Kod Açıklamaları ile Birlikte)

1. Yeni bir proje oluşturup adına AlertDialog veya istediğiniz herhangi birşeyi yazın.

2. Uygulama örneğimizin arayüzümüzü oluşturalım: bir başlığımız ve bir de diyaloğu göster butonumuz olsun. Bunun için aşağıda verdiğim kodları main.xml dosyasına girin.

<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    android:background="#ddd" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_centerHorizontal="true"
        android:fontFamily="Apple Garamond"
        android:background="#0470d9"
        android:textColor="#fff"
        android:textSize="20dp"
        android:text="Android Programlama 12 : Alert Dialog" />

    <Button
        android:id="@+id/btndiyalog"
        android:layout_width="300dp"
        android:textStyle="bold"
        android:textColor="#CC0000"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Alarm Diyaloğunu Göster" />

</RelativeLayout>

 3. main.java dosyasına aşağıdaki kodları girin.Kodların satır satır açıklamalarını aşağıda verdim, açıklamaları okumayı ihmal etmeyin. :)

package com.androidevreni.alertdialog;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

    // buton değişkenini tanımlama
	Button diyalog;

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

	    // javadan buton nesnesini oluşturma ve erişme
		diyalog = (Button) findViewById(R.id.btndiyalog);
		// butonumuza listener(dinleyici) ekleme
		diyalog.setOnClickListener(new OnClickListener() {

			// uygulamanın context ini alıyoruz, bunu uygulama ile
			// alakalı hemen hemen herşeye (mesela database) erişmek için yaparız. Bunu bir arayüz gibi düşünebilirsiniz. 
			Context context = getApplicationContext();
			@Override
			public void onClick(View arg0) {

				// AlertDialog.Builder ı başlatma
				AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

				// diyalog mesajı ve başlığı
				builder.setMessage("Bu bir alarm diyaloğudur.")
				       .setTitle("Diyalog Başlığı");

				// diyaloğu oluşturma
				AlertDialog dialog = builder.create();
				// diyaloğu gösterme
				dialog.show();

			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

 4. Uygulama örneğimizi test ediyoruz:



Evet bir yazının daha sonuna geldik, umarım bütün Android Evreni ziyaretçilerine yararı olur. Android Evreni’ni takip etmeye devam edin!

Bir önceki Android HTTP Requests: Android’ten Web Server ile İletişime Geçelim! isimli yazımda Android ile web server arası iletişimi anlatmıştım.

Kolay gelsin. :)

Şunlar da ilginizi çekebilir

4 yorum

  • Fatih Demir
    2 Nisan 2014 at 18:23

    Hocam yardımınıza ihtiyacım var bana ulaşabilir misiniz gmailimden.. Be de Elektrik Elektronik mühendisliği okuyorum ve androide merakım var. Bir program yapıyorum da bir yerden sonra takıldım… Yardımcı olabilir misiiz

    • MUSTAFA DEMİR
      4 Nisan 2014 at 21:53

      merhaba Fatih bey,

      email ile desteğimiz sona ermiştir, sorunuzu Ziyaretçi defterimize yorum olarak yazabilirsiniz. Ekibimiz sorunuzla ilgilenecektir.

      İyi çalışmalar.

    • MUSTAFA DEMİR
      2 Mayıs 2014 at 15:54

      AndroidEvreni Soru&Cevap forumu açılmıştır. Artık foruma kayıt olarak sorularınızı sormaya, sorularınızın forum kullanıcıları tarafından cevaplanmasına ve sizin de sorulara cevap verebilmenize olanak sağlıyoruz!. Sizi AndroidEvreni Soru&Cevap Forumuna Davet Ediyoruz!.

MUSTAFA DEMİR için bir cevap yazın Cevabı iptal et