Android Bab3 UserInterface1 PDF
Android Bab3 UserInterface1 PDF
3. 1. VIEWS
Ada berbagai macam common Views yang digunakan dalam pembangunan Android.
Berikut ini yang termasuk kategori View :
– Basic View
– List View
– ProgressBar View
– Picker View
– Analog Clock and Digital Clock View
– Display Image View
– Menu
A. Basic View
Di bagian ini, kita akan mempelajari Basic Views di Android yang memungkinkan Anda
untuk menampilkan informasi teks serta melakukan beberapa pilihan dasar. Secara khusus,
Anda akan belajar tentang macam – macam View berikut:
– AutoCompleteTextView
– Edit Text
– Button
– ImageButton
– CheckBox
– Tooggle Button
– RadioButton
1. Text View
Bila Anda membuat sebuah proyek Android baru, Eclipse selalu membuat file main.xml
(terletak di res / folder layout) yang mengandung unsur <TextView>
</LinearLayout>
2. AutoCompleteTextView
AutoCompleteTextView mirip dengan EditText (karena Auto AutoCompleteTextView
subclass dari EditText). Perbedaannya adalah AutoCompleteText bisa menunjukkan list yang
tersedia secara otomatis ketika pengguna sedang mengetik.
* Button
merupakan sebuah widget tombol-tombol
* ImageButton
mirip dengan View Button
* ToggleButton
Lampu indikator akan menyala ketika Button ditekan.
*CheckBox
adalah elemen antarmuka pengguna grafis (widget) yang memungkinkan pengguna
untuk membuat beberapa pilihan dari sejumlah pilihan.
3. 2. LAYOUTS
Layout adalah elemen container dalam user interface. Setiap kali kita mendefinisikan
file xml dengan user interface tertentu, kita perlu menggunakan elemen ini untuk membuat
hierarky view. Ada beberapa jenis layout, yaitu :
1.LinearLayout
Suatu Layout yang mengatur Child View (view anak) ke dalam sebuah baris horisontal
atau vertikal tunggal. Linear Layout ini bisa menciptakan scrollbar jika panjang window
melebihi panjang screen atau layar.
2. Table Layout
Kita dapat mengatur posisi widget di baris dan kolom. TableLayout ini memiliki unsur-
unsur TableRows. Setiap TableRows ini dapat menyimpan satu atau lebih kolom.
5. Frame Layout
Frame Layout adalah Layout yang bertindak sebagai frame view (bingkai tampilan)
untuk menampilkan suatu objek.. Dalam gambar ini kita menggunakan imageView yang
ditaruh di res/drawable.
6. Scroll View
Scroll View digunakan untuk men-scroll list yang panjang. ScrollView hanya dapat
berisi satu Child View atau ViewGroup, yang biasanya adalah sebuah LinearLayout.
main.xml
<?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:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/datepickerbutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="DatePicker"
/>
<Button
android:id="@+id/timepickerbutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TimePicker"
/>
</LinearLayout>
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;
@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
switch(id){
case ID_DATEPICKER:
Toast.makeText(DateTimePicker.this,
}
}
3. 4. Analog Clock
<AnalogClock android:id="@+id/clock1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
<AnalogClock android:id="@+id/clock1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<DigitalClock android:id="@+id/clock2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Phone number is?"
/>
<EditText
android:id = "@+id/phonenumberIs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="fill_parent"
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="web Site is?"
/>
<EditText
android:id = "@+id/websiteIs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="address is?"
/>
<EditText
android:id = "@+id/addressIs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<LinearLayout
android:orientation="horizontal"
AutoLink.java
package android.autoLink;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import android.widget.EditText;
import android.view.View;
private
Button okButton;
Button cancel1Button;
EditText textName;
Button backButton;
Button cancel2Button;
TextView nameField;
TextView phonenumberField;
TextView emailField;
TextView websiteField;
TextView addressField;
startLayout1();
}
textPhonenumberIs =
(EditText) findViewById(R.id.phonenumberIs);
CharSequence textPhonenumberIs_value =
textPhonenumberIs.getText();
startLayout2();
}
};
1. Default Font
Android hanya menyediakan 3 default font, yaitu Monoscape, Sans, dan Serif.
<?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:layout_height="wrap_content"
android:typeface="monospace"
android:id="@+id/monospaceTxt"
android:layout_width="fill_parent"
android:text="Monospace : Android Programming"
android:background="#424242">
</TextView>
<TextView android:layout_height="wrap_content"
android:typeface="sans"
android:id="@+id/sansTxt"
android:layout_width="fill_parent"
android:text="sans : Android Programming">
</TextView>
<TextView android:layout_height="wrap_content"
android:typeface="serif"
android:layout_width="fill_parent"
2. External Font
Selain default font, anda dapat menggunakan external font dalam aplikasi Android.
Langkah pertama, anda perlu download font (file .ttf) kemudian buat folder baru di dalam
package assets dan copy kan font tadi kedalamnya. Setelah itu beri id untuk masing - masing
font dengan nama text1 dan text2 dalam sebuah TextView di file xml (main.xml) :
<?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/text2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/text3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/text4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/text5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/text6"
android:layout_width="fill_parent"
import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.TextView;
Buat object customText dalam TextView untuk mengambil id font yang sudah kita
deklarasikan dalam main.xml
TextView customText2 = (TextView)findViewById(R.id.text2);
TextView customText3 = (TextView)findViewById(R.id.text3);
TextView customText4 = (TextView)findViewById(R.id.text4);
Anda dapat menentukan jenis font yang akan digunakan dengan fungsi setTypeface(),
mengubah ukuran text default dengan method setTextSize(), dan mendefinisikan text yang
akan ditampilkan melalui method setText().
customText2.setTypeface(font2);
customText2.setTextSize(30.f);
customText2.setText("Android Programming");
customText3.setTypeface(font3);
customText3.setTextSize(55.f);
customText3.setText("Android Programming");
customText4.setTypeface(font4);
customText4.setTextSize(30.f);
customText4.setText("Android Programming");
customText5.setTypeface(font5);
customText5.setTextSize(30.f);
customText5.setText("Android Programming");
customText6.setTypeface(font6);
customText6.setTextSize(30.f);
customText6.setText("Android Programming");
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
};
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gridView.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView parent,
View v, int position, long id)
{
Toast.makeText(getBaseContext(),
"pic" + (position + 1) + " selected",
Toast.LENGTH_SHORT).show();
}
});
}
public ImageAdapter(Context c)
{
context = c;
}
2.ImageSwitcher
Pada awalnya ImageSwitcher akan menampilkan serangkaian gambar dalam ukuran
kecil, namun ketika salah satu gambar dipilih gambar akan ditampilkan pada tampilan
ImageView sehingga ukuran gambar menjadi full screen.
<ImageSwitcher
android:id="@+id/switcher1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
/>
<Gallery
android:id="@+id/gallery1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</RelativeLayout>
Image.java
package android.displayImage;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
public ImageAdapter(Context c)
{
context = c;