Android uygulamamıza buton ekleme işlemi gerçekleştirirken yapmamız gereken temelde 2 şey vardır. Bunlara değinecek olursak birincisi butonun görsel kısmı, yani tasarım kısmıdır. Bunu layout klasörü altında buton ekleyeceğimiz tasarımda xml formatında oluştururuz. Butona dair görsel özellik ve nitelikler buradan şekillendirilir. Daha sonra ise oluşturduğumuz butona bir işlev kazandırmamız gerekecektir. Bunu da *.java dosyamızda gerçekleştiririz. Daha önceki yazılarımda bunları parça parça anlatmıştım. Şimdi hepsini tek bir örnek üzerinde göstereceğim. Eğer bu şekilde görmek kafanızı karıştırırsa dilerseniz öncelikle diğer yazılarıma göz atınız. Daha sonra da burdaki yazımdan hepsini birlikte kullanmayı görürsünüz...
1.örnek yazıyı oku
2.örnek yazıyı oku
3.örnek yazıyı oku
...
Örnek projemiz üzerinden olaya bakacak olursak;
ornekler\src\com\farukunal\ornekler\ButonOrnek.java
package com.farukunal.ornekler;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class ButonOrnek extends Activity implements OnClickListener{ Button button1; Button button2; Button button3; Button button4; Button button5; Button button66; Button button77; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.butonornek); addListenerOnButton(); /*Buton1 ve Buton2 için bunu kullandık*/ /*Buton3 ü burda tanımlayıp fonksiyonunu da aşağısında belirttik*/ button3 = (Button) findViewById(R.id.button3); button3.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { ToastFK("Buton3 e basıldı"); } }); /*Buton 4-5-6-7 için ise --implements OnClickListener-- * kullanacağız * */ button5 = (Button) findViewById(R.id.button5); button66 = (Button) findViewById(R.id.button6); button77 = (Button) findViewById(R.id.button7); button4.setOnClickListener(this); button5.setOnClickListener(this); button66.setOnClickListener(this); /*buton7 yide üsttekiler gibi yapabilirdik * burda da kontrollü bir şekilde eklemeyi * göstermek istedim */ if (button77 != null) { button77.setOnClickListener(this); } else { throw new NullPointerException("Belirttiğin buton yok!"); } } public void addListenerOnButton() { button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent browserIntent = new Intent(Intent.ACTION_VIEW, startActivity(browserIntent); } }); button2 = (Button) findViewById(R.id.button2); button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { ToastFK("Buton2 ye basıldı"); } }); } @Override public void onClick(View view) { /*istersek switch-case yapısı ile * istersek de if ile * istersek id ile * istersek de view ile hangi butona * basıldığını kontrol edip * gerekli işlemi yaptırabiliriz * */ switch (view.getId()) { case R.id.button4 : ToastFK("Buton4 e basıldı"); break; case R.id.button5 : ToastFK("Buton5 e basıldı"); break; default: break; } /*buton6 ya buton66 ve buton7 ye buton77 * deme sebebim burada farkı gösterebilmekti * burda view adını vererek karşılaştırıyoruz * yukarıdakinde ise id lerinden karşılaştırıyoruz * */ if (view == button66) { ToastFK("Buton6 ya basıldı"); } else if (view == button77) { ToastFK("Buton7 ye basıldı"); } else { } } public void ToastFK(String msj) { Toast.makeText(this, msj, Toast.LENGTH_SHORT).show(); return; } }
ornekler\res\layout\butonornek.xml
<?xml version="1.0" encoding="utf-8"?> android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button1" /> <Button android:id="@+id/button2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button2" /> <Button android:id="@+id/button3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button3" /> <Button android:id="@+id/button4" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button4" /> <Button android:id="@+id/button5" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button5" /> <Button android:id="@+id/button6" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button6" /> <Button android:id="@+id/button7" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button7" /></LinearLayout>
ornekler\AndroidManifest.xml
package="com.farukunal.ornekler" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.farukunal.ornekler.ButonOrnek" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Projemizi ilk çalıştırdığımızda karşımıza gelecek olan ekran çıktısı aşağıdaki gibi olacaktır

Buton1 e bastığımız zaman

Buton2 ye bastığımızda ise

Buton3 e bastığımızda ise


