Tujuan
1.
Mengetahui dan Memahami Preference Checkbox
2.
Mengetahui dan Memahami Preference EditText
3.
Mengetahui dan Memahami Preference Organizing
4.
Mengetahui dan Memahami Preference Ringtone
5.
Mengetahui dan Memahami Preference Menu
Materi Pembelajaran
5. 1. CheckBox Preference
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="Flight Search Preferences"
android:summary="Set Columns for Search Results"> <CheckBoxPreference
android:title="Airline"
android:summary="Show Airline column" /> <CheckBoxPreference
android:title="Departure"
android:summary="Show Departure column" /> <CheckBoxPreference
android:title="Arrival"
android:summary="Show Arrival column" /> <CheckBoxPreference
android:title="Total Travel Time"
android:summary="Show Total Travel Time column" />
<CheckBoxPreference
android:title="Price"
android:summary="Show Price column" /> </PreferenceScreen>
import android.os.Bundle;
publicclass CheckBoxPref extends PreferenceActivity{
/** Called when the activity is first created. */ @Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.main); }
}
Attribute
Description
android:item
Untuk judul
android:summary
Ringkasan untuk Item
android:dialogTitle
Judul untuk dialog, jika view yang
5.2. EditText Preference
Preference Framework juga memberikan preferensi teks yang disebut sebagai EditTextPreference.
Preferensi ini memungkinkan anda untuk menangkap text baku.
main.xml
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="Package Name"
android:summary="Set package name">
<EditTextPreference
android:title="Set Package Name"
android:summary="Set the package name for generated code" android:dialogTitle="Package Name" />
</PreferenceScreen>
Anda dapat melihat kode diatas bahwa mendefinisikan PreferenceScreen dengan EditTextPreference
tunggal sebagai child nya.
5. 3. Organizing Preference
Organizing Preference ini mensupport anda yang ingin mengatur prefensi ke dalam beberapa kategori.
Untuk menerapkan hal ini, anda dapat menggunakan PreferenceScreen atau PreferenceCategory.
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="Categories"
android:summary="Using Preference Categories"> <PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="Meats"
android:summary="Preferences related to Meats"> <CheckBoxPreference
android:title="Fish"
android:summary="Fish is great for the healthy" /> <CheckBoxPreference
android:title="Chicken"
android:title="Lamb"
android:summary="Lamb is a young sheep" /> </PreferenceScreen>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="Vegetables"
android:summary="Preferences related to vegetable"> <CheckBoxPreference
android:title="Tomato "
android:summary="It's actually a fruit" /> <CheckBoxPreference
android:title="Potato"
android:summary="My favorite vegetable" /> </PreferenceScreen>
</PreferenceScreen>
package android.preference;
import android.os.Bundle;
publicclass OrganizingPref extends PreferenceActivity {
/** Called when the activity is first created. */ @Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.organizing); }
5. 4. Ringtone
RingtonePreference secara spesifik dengan nada dering. Anda akan menggunakannya dalam aplikasi
yang memberikan pengguna opsi untuk memilih nada dering sebagai preferensi.
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="My Preferences"
android:summary="Set Flight Option Preferences"> <RingtonePreference
android:title="Set Ringtone Preference" android:showSilent="true"
android:ringtoneType="alarm" android:summary="Set Ringtone" /> </PreferenceScreen>
package android.preference;
import android.os.Bundle;
publicclass RingtonePref extends PreferenceActivity {
/** Called when the activity is first created. */ @Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.main); }
5. 5. Menu
Seperti aplikasi untuk desktop dan beberapa sistem operasi mobile, seperti Palm OS dan
Windows Mobile, Android juga mendukung kegiatan dengan aplikasi menu.
Ikuti langkah – langkah berikut untuk membuat menu sederhana :
1. Buat layout file XML yang berisi tampilan teks
2. Buat kelas Activity di file java
3. Atur menu
4. Tambahkan beberapa item menu reguler ke menu.
5. Merespon menu item
6. Menambah dan menghapus text
1. Membuat sebuah XML Layout
Langkah 1 adalah membuat file XML Layout sederhana dengan tampilan teks di dalamnya (lihat Listing 1.1) di
res / layout main.xml . File xml ini akan di load ke Activity saat startup.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent" >
<TextView android:id="@+id/textViewId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Phone Menus"
/>
</LinearLayout>
2. Membuat sebuah file Activity
packageandroid.simpleMenus;
importandroid.app.Activity; importandroid.os.Bundle;
publicclassSimpleMenusextendsActivity{
// Initialize this in onCreateOptions MenumyMenu=null;
@Override
publicvoidonCreate(BundlesavedInstanceState){
// untuk memanggil layout yang ada di main.xml
setContentView(R.layout.main); }
}
3. Setting Menu
Setelah membuat View dan Activity, sekarang kita akan men-setting program untuk menu nya
@Override
publicbooleanonCreateOptionsMenu(Menumenu) {
//call the parent to attach any system level menus
super.onCreateOptionsMenu(menu);
this.myMenu=menu;
//add a few normal menus
addRegularMenuItems(menu);
//it must return true to show the menu
//if it is false menu won't show
returntrue; }
4. Menambah Menu Item
Untuk menambah item menu, lihat kode dibawah ini :
// Adding Menu Items
privatevoidaddRegularMenuItems(Menumenu){
intbase=Menu.FIRST;// value is 1
MenuItemcontact=menu.add(base,base,base,"Contact");
contact.setIcon(R.drawable.phone_book);
MenuItemmessage=menu.add(base,base+1,base+1,"Message");
message.setIcon(R.drawable.sms2);
MenuItemclear=menu.add(base,base+2,base+2,"Clear");
clear.setIcon(R.drawable.eraser);
MenuItemmusic=menu.add(base,base+3,base+3,"Music");
music.setIcon(R.drawable.tone);
MenuIteminternet=menu.add(base,base+4,base+4,"Internet");
internet.setIcon(R.drawable.moziila);
MenuItemcamera=menu.add(base,base+5,base+5,"Camera");
camera.setIcon(R.drawable.kamera2);
MenuItemgalery=menu.add(base,base+6,base+6,"Galery");
galery.setIcon(R.drawable.galery3);
game.setIcon(R.drawable.game2);
MenuItemvideo=menu.add(base,base+8,base+8,"Video");
video.setIcon(R.drawable.handycam);
MenuItemsetting=menu.add(base,base+9,base+9,"Setting");
setting.setIcon(R.drawable.setting);
}
Menu kelas mendefinisikan beberapa kostanta, salah satunya adalah Menu.FIRST
MenuItem contact = menu.add(base,base,base,"Contact"); contact.setIcon(R.drawable.phone_book);
Kode diatas untuk menambahkan item di menu beserta iconnya. Untuk menambahkan icon untuk menu caranya
tinggal copy gambar ke res / drawable. Kemudian buat kode nya seperti diatas.
5. Merespon Menu Item
Setelah men-setup menu, kita lanjutkan ke langkah 5. Ketika sebuah item menu di klik maka Android
akan memanggil method onOptionsItemSelected() dari kelas Activity dan kemudian menggunakan method
getItemId() pada MenuItem untuk menangkap text yang dimasukkan.
// Responding to Menu -> item clicks
@Override
publicbooleanonOptionsItemSelected(MenuItemitem){
if(item.getItemId()==1) {
appendText("\nContact");
item.setIcon(R.drawable.phone_book);
}
elseif(item.getItemId()==2) {
appendText("\nMessage");
item.setIcon(R.drawable.sms2);
}
elseif(item.getItemId()==3) {
emptyText();
item.setIcon(R.drawable.eraser);
}
elseif(item.getItemId()==4) {
appendText("\nTone");
item.setIcon(R.drawable.tone);
}
elseif(item.getItemId()==5) {
item.setIcon(R.drawable.setting);
}
elseif(item.getItemId()==6) {
appendText("\nCamera");
item.setIcon(R.drawable.kamera2);
}
elseif(item.getItemId()==7) {
appendText("\nGalery");
item.setIcon(R.drawable.galery3);
}
elseif(item.getItemId()==8) {
appendText("\nGame");
item.setIcon(R.drawable.game2);
}
elseif(item.getItemId()==9) {
appendText("\nVideo");
item.setIcon(R.drawable.handycam);
}
elseif(item.getItemId()==10) {
appendText("\nSetting");
item.setIcon(R.drawable.setting);
}
returntrue; }
6. Menambah dan Menghapus text
//Given a string of text append it to the TextView
privatevoid appendText(String text) {
TextView tv = (TextView)this.findViewById(R.id.textViewId); tv.setText(tv.getText() + text);
}
//Empty the TextView of its contents
privatevoid emptyText() {
TextView tv = (TextView)this.findViewById(R.id.textViewId); tv.setText("");
} }
Setelah di run, hasilnya seperti gambar dibawah ini
Prompt Dialog
yaitu dialog yang muncul dengan sebuah kotak isian atau edit text.
Buat kotak dialog isiannya di main.xml
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:stretchColumns="0"
android:layout_height="fill_parent" android:layout_width="wrap_content">
<TableRow>
<TextView android:text="Type text here" />
</TableRow>
<TableRow>
<EditText android:textSize="16px" /> </TableRow>
<TableRow>
<Button android:id="@+id/buttonOK" android:text="OK" /> <Button android:id="@+id/buttonCancel" android:text="Cancel" /> </TableRow>
</TableLayout>
untuk menampilkan prompt dialog, perhatikan kode dibawah ini :
dialog.setContentView(R.layout.main);
dialog.setTitle("Prompt Dialog");
dialog.show();
Penjelasan :
Dialog prompt = new Dialog(this);
- membuat object prompt dari android dialog app
prompt.setContentView(R.layout.main);
-
memanggil file dari xml atau main.xml
prompt.setTitle("Prompt Dialog");
-
Statement yang akan ditampilkan di prompt dialog
dialog.show();
- perintah untuk menampilkan prompt dialog di emulator
Dialog with Checkbox
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:stretchColumns="0"
android:layout_height="wrap_content" android:layout_width="wrap_content">
<TableRow>
<TextView android:textColor="#ffffff" android:text="Android:" android:textSize="16px" android:layout_marginLeft="6dip" android:layout_gravity="center_vertical" />
<CheckBox android:id="@+id/checkboxAndroid" android:layout_gravity="right|top" />
</TableRow>
<TableRow>
<TextView android:textColor="#ffffff" android:text="Blacberry:" android:textSize="16px" android:layout_marginLeft="6dip" android:layout_gravity="center_vertical" />
<CheckBox android:id="@+id/checkboxBlackberry" android:layout_gravity="right|top" />
</TableRow>
<TableRow android:layout_marginTop="230px">
<Button android:id="@+id/buttonOK" android:text="ok"
android:layout_height="wrap_content" android:layout_width="wrap_content" />
Mengubah Skin Android Emulator
Untuk mengubah skin emulator di android, download dulu skin emulator yang ada di internet, di sini
saya contohkan satu alamat web yang menyediakan custom android skin emulator.
http://teavuihuang.com/android/
Selanjutnya tinggal exstrak di folder {Android SDK}\tools\lib\images\skins