Custom Button pada Android

Salah satu hal yang menyenangkan dalam membuat sebuah aplikasi Android adalah melakukan kustomisasi pada tampilan di layar. Dengan cara ini pengembang dapat membuat desain hasil karyanya yang unik dan kreatif daripada sekedar tampilan standar yang membosankan. Ada banyak sekali bagian dari tampilan aplikasi Android yang bisa dikustom mulai dari launcher icon, menu, tab, dialog, list view dan sebagainya. Pada artikel kali ini akan dijelaskan teknik untuk mengkustom tombol atau button pada Android dengan menggunakan warna atau gambar buatan sendiri sehingga tampilannya menjadi jauh lebih menarik daripada tombol yang biasa.

Mempersiapkan Gambar

Langkah pertama adalah mempersiapkan gambar untuk custom button tersebut. Gambar yang perlu dibuat untuk sebuah button harus berjumlah tiga untuk mewakili kondisi normal, mendapatkan focus dan saat ia tertekan. Sebagai contoh berikut ini diperlihatkan tiga buah gambar yang berbeda namun dengan ukuran yang sama untuk mewakili tiga kondisi tersebut.

android-custom-button01

Pastikan ketiga gambar tersebut berformat PNG.

CATATAN:

Tidak ada aturan yang baku mengenai ukuran sebuah custom button, namun sebagai acuan ukuran tinggi sebuah standard button pada layar berkerapatan menengah (medium density screen) atau MDPI adalah sekitar 32 px. Silakan menggunakan ukuran ini sebagai acuan saat membuat sebuah gambar agar custom button tidak terlalu besar atau terlalu kecil.

 

Membuat Program

Setelah ketiga gambar selesai dibuat, sekarang saatnya untuk menulis sebuah program. Program sederhana yang akan dibuat berikut ini akan menampilkan sebuah tombol dengan gambar yang telah dipersiapkan sebelumnya.

  1. Jalankan Eclipse dan buat sebuah Android Project baru.

android-custom-button02

  1. Dengan menggunakan Windows Explorer, cari folder res\drawable-mdpi di dalam folder projek tersebut kemudian copy-kan ketiga file gambar ke dalam folder ini. Lakukan hal yang sama untuk dua folder lainnya: res\drawable-ldpi dan res\drawable-hdpi. LDPI mewakili layar berkerapatan rendah sedangkan HDPI mewakili layar berkerapatan tinggi. Gambar yang semula dibuat untuk MDPI bisa saja digunakan untuk LDPI dan HDPI, namun idealnya masing-masing layar ini memiliki gambar-gambar dengan ukuran yang disesuaikan.

android-custom-button03

  1. Buat sebuah file XML untuk ditempatkan di dalam folder drawable-mdpi dan beri nama sebagai android_button.xml.

android-custom-button04

Ketikkan isi file XML itu sebagai berikut.

 File XML ini mengatur gambar-gambar yang akan ditampilan pada tombol sesuai dengan tiga kondisi yang bersangkutan.

  1. Salin file XML di atas ke dalam folder res\drawable-ldpi dan res\drawable-hdpi.
  2. Bukan file main.xml dan tambahkan sebuah button.

 Perhatikan baris “android:background=”@drawable/android_button”, dimana tampilan tombol akan merujuk ke file android_button.xml yang mengatur gambar-gambar yang akan ditampilkan.

  1. Buka file MainActivity.java dan tambahkan event onClick yang menangani aksi penekanan tombol. Saat tombol ditekan, program akan menampilkan sebuah kotak pesan bertuliskan “Beep Bop”.

  1. Simpan semua perubahan dan jalankan program tersebut.

android-custom-button05

Perhatikan bagaimana gambar tombol tersebut akan berubah saat ia ditekan.

Hal yang perlu diperhatikan saat mendesain sebuah tombol adalah kemungkinan tombol ini meregang oleh karena kondisi tertentu. Tombol harus mampu mempertahakan bentuknya agar tetap bagus walaupun panjang atau lebarnya ditarik memanjang. Untuk melihat bagaimana bentuk custom button saat ia diregangkan, silakan ikuti langkah berikut ini.

  1. Buka file main.xml dan ubah bagian layout_width dari custom button tersebut dari wrap_content menjadi fill_parent.

 

  1.  Simpan perubahan dan jalankan kembali. Tampilannya akan tampak seperti berikut ini.

android-custom-button06

Jelek sekali, bukan? Ini artinya custom button tersebut belum didesain dengan baik. Hal seperti ini sangat mungkin terjadi sehingga perlu dilakukan cara untuk menanggulanginya.

Mengantisipasi Peregangan Gambar

Peregangan sebuah button (baik vertikal maupun horisontal) adalah sesuatu yang tidak bisa dihindari, namun yang bisa dilakukan adalah mengatur bagian mana yang bisa diregang dan bagian mana yang tidak. Sebagai ilustrasi diperlihatkan contoh gambar sebagai berikut.

android-custom-button07

Harus diupayakan agar ada bagian yang bisa dipertahankan tidak berubah bentuknya saat ia diregang. Pada contoh ini area yang diwarnai gelap adalah bagian yang boleh diregangkan sedangkan bagian yang di tengah adalah area yang tidak boleh berubah.

android-custom-button08

Dengan demikian saat gambar ini ditarik memanjang, bagian yang fleksibel akan berubah bentuknya mengikuti ukuran yang diinginkan namun bagian yang statis akan tetap bentuknya.

android-custom-button09

Teknik inilah yang harus diterapkan pada gambar button tersebut agar ada bagian yang bisa tetap dipertahankan bentuknya pada saat ukuran panjang atau lebarnya berubah sehingga button akan tetap tampak bagus dalam berbagai ukuran.

SDK Android telah menyediakan sebuah program yang membantu programmer untuk mengatur bagian-bagian gambar yang bisa diregangkan. Program ini bernama Draw 9-patch yang memungkinkan penggunanya membuat grafik NinePatch dengan mudah.

  1. Dengan Windows Explorer, buka folder tools di dalam folder instalasi SDK Android. Jalankan file bernama draw9patch.bat dan tunggu beberapa saat sampai program tampil.

android-custom-button10

  1. Dengan Windows Explorer, dapatkan salah satu dari tiga gambar custom button tadi kemudian klik dan geser ke dalam window “Draw 9-patch” tersebut.

android-custom-button11

Silakan menggeser-gesert slider Patch scale untuk melihat efek dari peregangan terhadap gambar tersebut.

  1. Klik opsi Show patches, kemudian dengan menggunakan penunjuk mouse klik pada tepi-tepi gambar untuk menandai bagian yang boleh direggangkan. Area yang tidak ditandai adalah bagian yang tidak berubah. Lihat preview-nya pada window di bagian kanan bagaimana efek dari pengaturan ini akan membuat gambar jauh lebih baik. SIlakan bandingkan dengan preview sebelumnya.

android-custom-button12

  1. Simpan hasil pengaturan ini dengan nama file yang baru. Ekstensi nama file akan ditambah menjadi 9.PNG. Sebagai contoh jika semula nama file-nya bernama android_normal.png maka selanjutnya ia akan menjadi android_normal.9.png.
  2. Silakan lakukan dengan file-file yang lain.
  3. Salin file-file 9.PNG ke dalam folder-folder res\drawable-ldpi, res\drawable-mdpi dan res\drawable-hdpi seperti semula dan hapus (atau pindahkan) file-file .PNG sebelumnya dari folder tersebut.

CATATAN:

Pastikan file PNG dan 9.PNG untuk gambar yang sama tidak berada di dalam folder drawable karena hal itu akan mengakibatkan error saat dijalankan.

 

Saat program dijalankan kembali, kali ini custom button akan tampil lebih baik.

android-custom-button13

 

Download:

 

Sumber:

  • http://developer.android.com/resources/tutorials/views/hello-formstuff.html
  • http://developer.android.com/guide/developing/tools/draw9patch.html

 

end-of-doc

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *