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. Bu kısmı 3farklı şekilde anlatacağım. Siz hangisini kendinize daha yatkın görürseniz yada hangisini daha iyi anlarsanız onu kullanabilirsiniz. Bu yazımızda 1.yola değineceğiz.
(2.yazıyı oku)
(3.yazıyı oku)...
Öncelikle xml kısmımızda kullanacağımız butonu tasarlıyoruz
<
Button
android:id
=
"@+id/button1"
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:text
=
"Button1"
/>
Burda atadığımız id ile kod kısmında bu butona erişip, gerekli işlemleri yapmasını sağlayacağız.
Daha sonra kod kısmında ise bu butona erişebilmek için
Button button1;
button1 = (Button) findViewById(R.id.button1);
Üstte yazdığım kod satırı gibi öncelikle bi buton oluşturuyoruz ve ardından bu buton ile id si button1 olan butonun eşleştiğini, yani kod kısmında button1 id li butonu kullandığımızı belirtiyoruz.
Şimdi de bu butona basıldığında ne işlem yapacağımızı belirtmemiz gerekiyor. işte giriş kısmında belirttiğim 3farklı yol bundan sonrasında devreye giriyor. Genel olarak bir butona üstteki işlemlerden sonra Click() işlevini aşağıdaki gibi ekleriz
button1.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View arg0) {
}
});
Örnek projemiz üzerinden olaya bakacak olursak;
ornekler\src\com\farukunal\ornekler\ButonOrnek1.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
ButonOrnek1
extends
Activity {
Button button1;
Button button2;
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.butonornek1);
addListenerOnButton();
}
public
void
addListenerOnButton() {
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View arg0) {
startActivity(browserIntent);
}
});
button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View arg0) {
ToastFK(
"Buton2 ye basıldı"
);
}
});
}
public
void
ToastFK(String msj)
{
Toast.makeText(
this
, msj,
Toast.LENGTH_SHORT).show();
return
;
}
}
ornekler\res\layout\butonornek1.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"
/>
</
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.ButonOrnek1"
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 kod kısmında bir siteye yönlendirme yapıp, belirttiğimiz siteyi açmasını istemiştik. Dolayısıyla buton2 ye bastığımızda da siteyi açacaktır
button1.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View arg0) {
startActivity(browserIntent);
}
});
Buton2 ye bastığımızda ise kod kısmında belirttiğimiz üzere Toast çıkacak ve buton2 ye basıldı yazacak.
button2.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View arg0) {
ToastFK(
"Buton2 ye basıldı"
);
}
});