Objek-objek seperti
lingkaran, senar gitar, gradasi warna, dan background berpola, yang dapat
dimanipulasi menggunakan XML. FrameLayout digunakan untuk membuat layout
berlapis, sehingga objek lingkaran berisi huruf E,A,D,G,B, dan E dapat melayang
diatas senar yang bersesuaian. Background yang kita pakai sebenarnya gambar
kayu berukuran kecil yagn diulang secara horizontal dan vertikal.
Fungsi-fungsi
aplikasi ini ditangani oleh MainActivity.java. Baris 14-20 merupakan deklarasi
objek-objek yang akan dipakai pada tahap selanjutnya, seperti Button dan Media
Player. Baris 27-32 merupakan bagian untuk memasangkan masing-masing objek di
Java dengan objek pada layout XML melalui ID-nya. Objek-objek button ini
kemudian diaktifkan melalui baris 33-39. Objek button harus diaktifkan
menggunakan metode setOnClickListener() supaya berfungsi saat diklik.
Oenambahan metode setOnClickListener() menghasilkan metode kembalian onClick()
pada baris 49-71. Di dalam metode onClick() inilah fungsi setiap button
ditambahkan, misalnya button senar E jika diklik akan memainkan nada E, atau
button senar A jika diklik akan mengeluarkan nada A, dan seterusnya.
Media Player adalah kelas
yang berfungsi untuk menangani file audio/video atau streaming. Pada aplikasi
ini dimanfaatkan untuk memainkan nada gitar sesuai senar yang dipetik.
Elemen Kompetensi
Buatlah project baru,
File > New > Android Application Project. Isilah field yang tersedia,
lalu klik Next hingga selesai, kemudian klik Finish.
Pada
activity_main.xml, ubahlah RelativeLayout menjadi LinearLayout dengan cara klik
kanan > Change Layout > LinearLayout (Vertical) > OK.
Pada folder res,
tambahkan folder baru dengan nama drawable, kemudian tambahkan gambar pattern
kayu dengan nama wood.png di dalam folder ini.
Tambahkan empat file XML baru ke dalam folder
drawable. Dengan cara, klik kanan folder drawable > New > Android XML
File. Berikut ini kegunaan masing-masing XML:
Nama XML
|
Kegunaan
|
buttonstring.xml
|
Membuat tampilan senar gitar
|
circle_black.xml
|
Membuat lingkaran warna hitam
|
circle_white.xml
|
Membuat lingkaran warna putih
|
paternbgwood.xml
|
Membuat background berpola
|
buttonstring.xml
<?xml version="1.0"
encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
>
<item android:state_pressed="true">
<shape>
<solid android:color="#262523"/>
</shape>
</item>
<item>
<shape>
<gradient android:angle="180"
android:endColor="#262523"
android:startColor="#8c8c8c"/>
</shape>
</item>
</selector>
circle_black.xml
<?xml version="1.0"
encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#000000"/>
<size
android:width="12dp"
android:height="12dp"/>
</shape>
circle_white.xml
<?xml version="1.0"
encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#ffffff"/>
<size
android:width="12dp"
android:height="12dp"/>
</shape>
<?xml version="1.0"
encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/wood"
android:tileMode="repeat">
</bitmap>
Tidak ada komentar:
Posting Komentar