Membuat Button dengan Grafik Berbeda untuk Setiap Status

Membuat Button dengan Grafik Berbeda untuk Setiap Status

Pada tutorial ini, kita akan membuat button yang memiliki grafik berbeda untuk setiap status. Dalam kasus ini, kita akan membuat tiga status: saat button di-klik, saat button terfokus, dan saat button dalam kondisi normal.

Pertama-tama, kita perlu membuat file my_button.xml dengan kode berikut:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <!-- Mendefinisikan button saat di-klik -->
 <item android:drawable="@drawable/my_button_click"
 android:state_pressed="true" />

 <!-- Mendefinisikan button saat terfokus -->
 <item android:drawable="@drawable/my_button_click"
 android:state_focused="true" />

 <!-- Mendefinisikan button saat dalam kondisi normal -->
 <item android:drawable="@drawable/my_button_normal" />
</selector>

Dalam file ini, kita mendefinisikan tiga item yang berbeda untuk setiap status. Setiap item memiliki grafik yang berbeda yang akan digunakan ketika button tersebut dalam kondisi tertentu.

Selanjutnya, kita perlu membuat file activity_main.xml dengan kode berikut:

<?xml version="1.0" encoding="utf-8"?>
<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" >

 <!-- Memanggil my_button.xml melalui tag android:background -->
 <Button
 android:id="@+id/myButton"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_centerHorizontal="true"
 android:layout_centerVertical="true"
 android:background="@drawable/my_button" />

</RelativeLayout>

Dalam file ini, kita memanggil file my_button.xml melalui tag android:background. Dengan demikian, button yang kita buat akan memiliki grafik yang berbeda untuk setiap status.

Jika Anda run aplikasi, maka Anda akan melihat button yang memiliki grafik yang berbeda untuk setiap status. Saat Anda meng-klik button, maka grafik yang digunakan adalah my_button_click. Saat Anda fokus pada button, maka grafik yang digunakan adalah my_button_focused. Dan saat button dalam kondisi normal, maka grafik yang digunakan adalah my_button_normal.

Dengan demikian, kita telah membuat button dengan grafik berbeda untuk setiap status. Ini adalah salah satu contoh bagaimana Anda dapat menggunakan selector dan drawable untuk membuat aplikasi Android yang lebih interaktif.