Haii teman – teman semua! Ketemu lagi dengan saya, di pembahasan kali ini masih seputar komponen UI yang ada di Android Studio bagian ke - 2, untuk bagian 1 Pengenalan Komponen User Interface (UI) Android Studio. Banyak sekali referensi yang menjelaskan tentang komponen UI Android Studio. Disini saya akan menjelaskan dan mengimplementasikan komponen UI (Part 2).
Komponen UI (Bagian 2) diantaranya :
8. Spinner
Spinner adalah salah satu view yang cukup sering kita lihat penggunaannya dihampir semua aplikasi Android. Spinner berbentuk list dropdown berisi item - item yang bisa kita pilih. Spinner biasa digunakan untuk memudahkan pengguna memilih salah satu value list atau array yang disajikan dengan cepat. Ada dua cara untuk membuat spinner di Android Studio. Yang pertama, data array disimpan pada file strings.xml dalam bentuk string-array yang bersifat statis atau tidak sering berubah - ubah. Yang kedua adala data array disimpan langsung pada file Java, dalam bentuk string array ataupun String Arraylist cara ini bersifat dinamis atau dapat berubah - ubah. Yang akan saya bahas yaitu menggunakan bentuk string-array yang bersifat statis caranya,
1. Kalian buka terlebih dahulu aplikasi Android Studio yang ada di PC kalian
- Pilih Start → Android Studio
- Pilih Create New Projects
- Pilih Empty Activity lalu klik next
<resources>
<string name="app_name">Modul4_Spinner</string>
<string-array name="hari"> // variabel yang akan dipanggil dari activity_main.xml (entries="@array/hari)
<item> Senin </item>
<item> Selasa </item>
<item> Rabu </item>
<item> Kamis </item>
<item> Jumat </item>
<item> Sabtu </item>
<item> Minggu </item>
</string-array>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="HARI INI : " // text yang tercetak
android:layout_marginTop="15dp" //jarak text ke atas
android:textStyle="bold" /> // text tercetak tebal
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp" // jarak spinner ke atas
android:entries="@array/hari" /> // mengambil value dari strings.xml
</LinearLayout>
HASIL Spinner
9. Toggle Button
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="Tombol ON/OFF Flash"
android:textSize="16sp"
android:textStyle="bold" />
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginLeft="5dp"
android:text="ToggleButton"
android:textOff="Flash Mati" // text label OFF, Jika di tekan maka akan berubah textnya
android:textOn="Flash Hidup" //text label ON
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
HASIL Toggle Button
10. Switch ON / OFF
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="Switch Testing : "
android:textSize="18sp"
android:textStyle="bold" />
<Switch
android:id="@+id/simpleSwitch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginLeft="15dp"
android:showText="true"
android:text="Switch"
android:textOff="OFF" // text label OFF, Jika di tekan maka akan berubah textnya
android:textOn="ON" // text label ON, akan nyala
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
Text Label yang digunakan disini jika state ON maka label textnya adalah ON (button akan nyala), sedangkan jika statenya OFF maka labelnya OFF (button akan mati).
HASIL Switch ON/OFF
11. Progress Bar
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mohon Tunggu . . . " //text yang ditampilkan
android:textSize="18sp"
android:textStyle="bold" /> //tercetak tebal
<ProgressBar
android:id="@+id/progressBar_cyclic" //ProgressBar berbentuk lingkaran
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_marginBottom="30dp"
android:minWidth="20dp" //lebar minimal sebesar 20
android:minHeight="20dp" /> //tinggi minimal sebesar 20
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sedang Menyimpan Data" //text yang ditampilkan
android:textSize="18sp"
android:textStyle="bold" /> //tercetak tebal
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal" //ProgressBar berbentuk horixontal
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="0dp"
android:indeterminate="false"
android:max="100"
android:minHeight="50dp"
android:minWidth="200dp"
android:progress="1" />
</LinearLayout>
HASIL ProgressBar
12. SeekBar
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Atur Volume" />
<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbarSize="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</LinearLayout>
HASIL SeekBar
13. RatingBar
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Rate This App : "
android:textSize="24sp"
android:textStyle="bold" />
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</LinearLayout>
HASIL Rating Bar
14. Scroll View
HASIL Scroll View
CHALLENGE MEMBUAT FORM REGISTRASI
- Pilih Start -> Android Studio
- Pilih Create New Projcts
- Pilih Empty Activity lalu klik next
HASIL Challenge Form Registrasi
Demikianlah Pengenalan komponen User Interface (UI) pada Android Studio (Lanjutan) dan juga latihan - latihan yang tersedia. Semoga apa yang disampaikan bisa bermanfaat bagi teman-teman semua, mohon maaf jika ada kesalahan dan kekurangan lainnya. Sampai jumpa di Pembahasan selanjutnya.
0 comments:
Posting Komentar