Untuk mengimplementasikan widget, selain file java kita juga
membutuhkan tambahan dua file. Berikut ini adalah file-file yang umumnya kita
butuhkan apabila kita membuat widget :
1. File Java. Berupa file java di mana merupakan file yang
mengimplementasikan aksi dari widget. Jika kita mendefinisikan suatu widget
beserta posisinya di layar yang didefinisikan dari file XML, kita harus
melakukan coding di file java di mana kita dapat mengambil semua nilai atribut
dari tata letak file XML yang didefinisikan.
2. File XML. Sebuah file yang mendefinisikan komponen
elemen-elemen XML yang digunakan untuk inisialisasi widget serta atribut yang
mendukungnya.
3. Layout XML. File XML menggambarkan atau penambahan keterangan
pada layout widget kita. Beberapa komponen widget akan kita bahas saat ini.
Widget TextView, menampilkan teks ke layar dan memiliki optional bisa dilakukan
edit, tetapi secara default TextView tidak dapat diedit. Untuk dapat melakukan
edit harus menggunakan subclass yang berfungsi untuk menampilkan TextView.
EditText adalah kostumisasi TextView dimana menjadi TextView
yang dapat mengkonfigurasi dirinya sendiri sehingga dapat diedit. Sedangkan widget RadioButton/RadioGroup
biasanya digunakan bersama-sama. Di dalam satu RadioGroup terdapat beberapa
RadioButton. Dan di dalam satu RadioGroup user hanya dapat melakukan satu
check/pemilihan RadioButton.
Langsung Saja Kita Membuat Widget seperti dibawah ini :
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:id="@+id/activity_main" 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"> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:text="Tuliskan Nama anda" android:textStyle="bold" /> <Button android:text="Proses" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/button" android:layout_above="@+id/editHasil" android:layout_alignParentStart="true" android:layout_marginStart="16dp" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:hint="name" android:ems="10" android:id="@+id/editNama" android:layout_below="@+id/textView2" android:layout_alignParentStart="true" android:layout_marginTop="10dp" /> <TextView android:text="TextView" android:layout_width="fill_parent" android:layout_height="200dp" android:id="@+id/editHasil" tools:fontFamily="casual" android:gravity="center_horizontal" tools:textColor="#00ffff" android:layout_marginBottom="19dp" android:layout_alignParentBottom="true" android:layout_alignParentStart="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/editUsia" android:layout_alignParentStart="true" android:layout_alignParentEnd="true" android:layout_marginStart="6dp" android:layout_marginEnd="346dp" android:layout_marginBottom="7dp" android:text="Usia" android:textStyle="bold" /> <EditText android:id="@+id/editUsia" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button" android:layout_alignParentStart="true" android:layout_alignParentEnd="true" android:layout_marginStart="4dp" android:layout_marginEnd="164dp" android:layout_marginBottom="79dp" android:ems="10" android:hint="usia" android:inputType="textPersonName" /> <CheckBox android:text="CheckBox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button" android:layout_centerHorizontal="true" android:layout_marginTop="45dp" android:id="@+id/cb" /> <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="@dimen/activity_vertical_margin"></RadioGroup> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Yellow" android:id="@+id/yellow" android:onClick="onRadioButtonClicked" android:layout_alignBottom="@+id/editHasil" android:layout_alignStart="@+id/button" android:layout_marginBottom="25dp" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Green" android:id="@+id/green" android:onClick="onRadioButtonClicked" android:layout_above="@+id/yellow" android:layout_alignStart="@+id/yellow" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Red" android:id="@+id/red" android:onClick="onRadioButtonClicked" android:layout_above="@+id/green" android:layout_alignStart="@+id/green" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Blue" android:id="@+id/blue" android:onClick="onRadioButtonClicked" android:layout_alignBaseline="@+id/cb" android:layout_alignBottom="@+id/cb" android:layout_alignEnd="@+id/red" /> </RelativeLayout> |
untuk membuat layout pada aplikasi mobile dengan cara
melakukan dengan tools yangersedia atau dengan coding langsung pada android
studio. Yang pertama yaitu text view untuk menampilkan tulisan nama yang nanti
akan menjadi panduan untuk input data nama dengan settingan layout dengan width
dan hight wrap content.
Dengan id textnama. Kemudian edit text pada bagian ini digunakan
untuk memasukan inputan data yang telah dimasukan, kemudian pada layout yang diberikan sesuai dengan
coding diatas dengan id textNama. Semuanya sama dengan edit dan textview,
kemudian button digunakan untuk mengirim data ke server agar nanti data dapat
diproses, dengan layout wrap_content dengan
text yang dibuat adalah “proses” kemudian idnya buttonProses.
Pada text
view dan edit yang lain sama cuman beda pada nama dan penggunaan id. Kemudian
ada checkbox ini digunakan untuk memilih dengan pilihan yang sedikit dengan
bentuk ceklist, bila ini di pilih maka akan ada masukan sesuai pilihan kemudian
adalah radio button disini digunakan untuk memilih dengan sedikit pilihan
dengan bentuk lingkaran. Disini radio button yang digunakan berbentuk group jadi
nantinya akan dibungkus dalam satu layout vertical atau hirsontal pada
urutannya. Disini dibuat vertical sesuai script.
Dengan pihihan text dan id yaitu blue dengan id blue, red
dengan id red, green dan yellow. Maka
nanti hasilnya harus seperti yang dipilih diatas. Kemudian akan dikoneksi kan
dengan menggunakan script dibawah ini yaitu pada file Main_Activity.java yang
akan mengubungkan tampilan dengan file java.
Main_Activity.java
package com.example.olip.bcb_widget; import android.graphics.Color; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RelativeLayout; import android.widget.TextView; public class MainActivity extends AppCompatActivity { EditText editNama, editUsia; TextView editHasil; Button button; CheckBox cb; RelativeLayout relativeLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editNama = (EditText) findViewById(R.id.editNama); editUsia = (EditText) findViewById(R.id.editUsia); editHasil = (TextView) findViewById(R.id.editHasil); button = (Button) findViewById(R.id.button); cb = (CheckBox) findViewById(R.id.cb); relativeLayout = (RelativeLayout) findViewById(R.id.activity_main); } protected void onClick(View view) { String nama, usia; nama = editNama.getText().toString(); usia = editUsia.getText().toString(); editHasil.setText("" + nama + usia); }
public void onCheckboxClicked(View view) { boolean checked = ((CheckBox) view).isChecked(); if (checked) cb.setText("checkBox ini: Dicenthang"); else cb.setText("checkBox ini: Tidak Dicenthang"); } public void onRadioButtonClicked(View view) { boolean checked = ((RadioButton) view).isChecked(); switch (view.getId()) { case R.id.blue: if (checked) { relativeLayout.setBackgroundColor(Color.BLUE); } break; case R.id.red: if (checked) { relativeLayout.setBackgroundColor(Color.RED); } break; case R.id.green: if (checked) { relativeLayout.setBackgroundColor(Color.GREEN); } break; case R.id.yellow: if (checked) { relativeLayout.setBackgroundColor(Color.YELLOW); } break; } } } |
Main_Activity.java disini akan meng import file dengan
memasukan id yang ada sebelumnya yaitu view, button, checkbox, edit text, radio
button, relative layout, Text view, disini nantinya akan menghubungkan dengan
file Activity_main.xml kemudian kemudian akan membuat class public dengan class
utama AppCombatActivity dan class turunan MainActivity lalu akan membuat id
yang sudah dibuat sebelumnya, dengan id yaitu edit text ada editNama, editNim,
kemudian textview editnama, kemudian
button id button, checkboc id cb, Realative layout id relative layout. Kemudian
protected void onClick digunakan untuk menampilkan hasil sesuai koding diatas.
Kemudian untuk menampilka checkbox lalu untuk menampilkan radio button sesuai
yang aka dipilih sesuai case yang akan dipilih. Bila sudahn maka akan
ditam[pilkan sesuai yag dipilih. Maka setelah sesuai hasilnya akan seperti
gambar dibawah ini :
Membahas :
1. Tutorial Menginstal Android Studio
2. Pengenalan Pada Aplikasi Android Studio
3. Menggunakan Layout dan Widget View
4. Radio Button, CheckBox, EditText
1. Tutorial Menginstal Android Studio
2. Pengenalan Pada Aplikasi Android Studio
3. Menggunakan Layout dan Widget View
4. Radio Button, CheckBox, EditText
0 Comments:
Post a Comment