Layout uygulamamizin kullanici arayüzünü olusturanelemanlari barindiran ve bir düzen içerisinde görüntülenmesini saglayan en alt katmandir. Activity ise kullanici ile etkilesimi saglayan ekrandir.Her bir layout yani ekran için bir activity olmasi gerekir ve layout’daki widgetlarin görevini bu activitylerden kontol ederiz.
Layoutlara projemizde "res>layout" klasörünün içinde activitylere ise projemizdeki “src” dosyasinin altinda erisebilirsiniz.
Bu projemizde ekrana bir textView, Edit Text ve Button koyacagiz Butona her basimizda Edit Text de butona kaçinci kez basildigini sayacak ve butona her 5. Basisimizda ekranda bir uyari mesaji verecek.
Ilk olarak yeni projemizi olusturuyoruz ve otomatik olarak Layout sayfasi geliyor.Solda gördügünüz Pallete sekmesinin altinda widgetlarimiz var, bu projede sadece 3 tanesini inceleyecegiz.Bu projeden sonra size tavsiyem bütün widgetlari tek tek inceleyerek ne için kullanildiklarini ögrenenin.EditText,TextView ve Butonumuzu sürükle birak yaparak paletten layoutumuza yerlestiriyoruz. Resim de sag tarafta widgetlarin özelliklerini gösteren bir toolbox var buradan widgelarin özelliklerini ayarlayabilirsiniz.veya layoutumuzn xml’inden ayni degisikliklerimizi yapabilirsiniz bunlar içinde ayri bir makale yazacagim. TextView’in yazisini degistirmek için xml de TextView in içindeki “ android:Text=’Mesaj’” seklinde degistiriyoruz
Layoutlarimiz xml dosyalarimizdan olusur. Activity_main.xml sekmesine tiklarsaniz layout’un içerigini görebilirsiniz. Widgetlar üzerinden ayarlamalari xml uzerinden yapmaya alisirsaniz ileride çok kolaylik çekersiniz.ve bundan sonraki makalelerde Layout dosyasinin sadece Xml olarak içerigini verecegim.
<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" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="22dp" android:layout_marginTop="38dp" android:text="Mesaj" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_centerHorizontal="true" android:layout_marginTop="32dp" android:text="Button" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView1" android:layout_alignBottom="@+id/textView1" android:layout_toRightOf="@+id/textView1" android:ems="10" > <requestFocus /> </EditText> </RelativeLayout>
Daha sonra src klasörümüzün altindaki .java uzantili activity dosyamizi açiyoruz. Method’larimizi ve kodlarimizi bu java dosyasina yazacagiz.
Sirada layoutumuza koymus oldugumuz widgetlari activitymizde tanitma islemi var bunun için su kodu kullanacagiz
(widget türü) widget ismi = (Widget Türü)findWiewById(R.id.widgetId);
Widget Id sini layoutumuzun xml dosyasinda veya widgeta tikladiginiz zaman sagdaki paletten ulasabilirsiniz
Bütün widgetlarimizi tanittiktan sonra Buttona Listener ekle islemi kaldi.Bu islemleri açiklamali olarak kod üzerinden verecegim ve bundan sonraki makalelerde butun activityleri bu sekilde verecegim makalenin en sonunada ekran görüntülerini ve source kodumuzu koyacagim
public class MainActivity extends Activity { static int sayac =0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Layoutumuzu Activitymize e tanýttýk setContentView(R.layout.activity_main); //Widgetlarýmýzý Activitymize tanýttýk //Burada Dikakt etmeniz gereken aþaðýdaki gibi kodlarý yazdýðýnýzda //hata verecekti çünkü Button EditTexr vb þeyleri projeye import etmeniz gerekmektedir Button btn =(Button)findViewById(R.id.button1); final EditText et=(EditText)findViewById(R.id.editText1); TextView tv =(TextView)findViewById(R.id.textView1); //Sýrada butonumuza Listener ekleme var //bu iþlem için setOnClickListener() methodunu kullanýyoruz btn.setOnClickListener(new View.OnClickListener() { //butona týklandýðý zaman yapýlacaklarý bu method altýnda yazýyoruz @Override public void onClick(View v) { sayac ++; et.setText("Butona "+String.valueOf(sayac)+".kez týkladýnýz"); if(sayac==5){ //Ekrana mesaj yazdýrmayý ise Toast.makeText() methodu //Sayesinde yapýyoruz.Bu method 3 Deðiþken alýyor 1.Context 2. mesaj ve 3. ise mesajýn ekranda //ne kadar aralýkla duracaðý Toast.makeText(getApplicationContext(), "www.yazilimmutfagi.com",Toast.LENGTH_LONG); sayac=0; } } }); } @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; } }
Programizin ekran görüntüleri su sekilde
Ve buradan projenin kaynak koduna buradan ulasabilirsiniz
Siradaki makalem Yeni sayfa olusturma sayfa geçisleri ve menüler hakkinda olacak.