#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.
Ü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.
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
merhaba Fatih bey,
email ile desteğimiz sona ermiştir, sorunuzu Ziyaretçi defterimize yorum olarak yazabilirsiniz. Ekibimiz sorunuzla ilgilenecektir.
İyi çalışmalar.
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!.