Android Programlamada Activity ve Layout

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

activity layout

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.

android activity layout

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.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir