Professional Documents
Culture Documents
Android Layout
Layout xml merupakan kumpulan perintah program xml yang meng-
hasilkan suatu tampilan pada layar Android. Jenis penampilan layout ada
beberapa tipe, antara lain:
Linier Layout
Relative Layout
Table Layout
android:orientation
Orientatation merupakan atribut layout xml yang berisikan orientasi
objek vertikal atau horizontal. Berikut contoh layout xml dari objek yang
tersusun secara vertikal.
45
android:orientation="vertical"
Konstanta Keterangan
horizontal Orientasilayoutaplikasihorizontal
vertical Orientasilayoutaplikasivertikal
Konstanta Keterangan
wrap_content Ukuranobjekakanmengikutibesarnyaisiobjek
diisiangka dp,dip,atausp
android:id
Setiap objek dalam Android harus memiliki id yang unik. Id ini
bermanfaat sebagai identitas objek yang akan digunakan dalam program.
android:id="@+id/button1"
46
Atribut text dapat diisi langsung dengan tulisan ataupun dengan variabel
resource string.
android:text="@string/my_button_text"
android:textSize="18sp"
android:layout_gravity
Atribut layout_grafity merupakan penata-letakan dari objek anak
terhadap layout yang melingkupinya (parent). Atribut layout_grafity
dapat diisikan konstanta seperti pada tabel.
android:layout_gravity="left"
47
start 0x008 Objek ditempatkan ke awal layout tanpa
00003 mengubahukuran
android:layout_ weight
Dalam linier layout ada atribut layout_weight yang digunakan untuk
menentukan besaran area layout sesuai perbandingan bobot dalam
layout.
android:layout_weight="2"
android:padding
Atribut padding merupakan margin dari objek dari batasan sebelah kiri,
kanan, atau atas dan bawah.
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:paddingBottomt="16dp"
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
48
setContentView(R.layout.activity_linier_layout);
}
}
<Button
android:id="@+id/button1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="1"
android:text="Button 1" />
<Button
android:id="@+id/button2"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:text="Button 2" />
<Button
android:id="@+id/button3"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="2"
android:text="Button 3" />
<Button
android:id="@+id/button4"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="1"
android:text="Button 4" />
</LinearLayout>
49
Hasil Project LinierLayout
50
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="1"
RelativeLayout Keterangan
layout_alignParentTop Jikanilainyatruemaka
layout_alignParentBottom object akan ditempatkan pada tepi atas/
layout_alignParentLeft bawah/kiri/kananlayoutparent
layout_alignParentRight
layout_centerVertical Jikanilainyatruemaka
layout_centerHorisontal objectakanditempatkanpadatengahlayout
secaravertical/horizontalobjekparent
layout_toLeftOf Objectakanditempatkanpadasebelahkanan
layout_toRightOf /kiridariobjekidtertentu
package belajar.android.relativelayout;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
51
public class RelativeLayoutActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_relative_layout);
}
}
<TextView
android:id="@+id/lblKomentar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Komentar"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true" />
<EditText
android:id="@+id/txtKomentar"
android:layout_width="fill_parent"
android:layout_height="170dp"
android:textSize="18sp"
android:layout_alignLeft="@+id/lblKomentar"
android:layout_below="@+id/lblKomentar"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/btnSatu"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:text="Satu"
android:layout_below="@+id/txtKomentar"
android:layout_alignRight="@+id/txtKomentar" />
<Button
android:id="@+id/btnDua"
android:layout_width="124dp"
android:layout_height="wrap_content"
android:text="Dua"
android:layout_below="@+id/txtKomentar"
android:layout_alignLeft="@+id/txtKomentar" />
</RelativeLayout>
52
Hasil Project relativelayout
53
<EditText
android:id="@+id/txtKomentar"
android:layout_width="fill_parent"
android:layout_height="170dp"
android:textSize="18sp"
android:layout_alignLeft="@+id/lblKomentar"
android:layout_below="@+id/lblKomentar"
android:layout_centerHorizontal="true" />
package belajar.android.tablelayout;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class TableLayoutActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
54
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_table_layout);
}
}
55
Penjelasan Project TableLayout
Pada klas TableLayoutActivity subrutin onCreate, perintah setContentView
menetapkan layout pada activity_table_layout.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_table_layout);
}
56
EditText dengan id txtPassword dan merupakan password.
<TableRow>
<TextView
android:text="Password:"/>
<EditText
android:id="@+id/txtPassword"
android:password="true" />
</TableRow>
import android.os.Bundle;
import android.app.Activity;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
57
import android.widget.LinearLayout;
import android.widget.RadioGroup;
import android.widget.Toast;
LinearLayout llMain;
RadioGroup rgGravity;
EditText etName;
Button btnCreate;
Button btnClear;
int wrapContent =
LinearLayout.LayoutParams.WRAP_CONTENT;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_programminglayoutxml);
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnCreate:
switch (rgGravity.getCheckedRadioButtonId()) {
case R.id.rbLeft:
btnGravity = Gravity.LEFT;
break;
case R.id.rbCenter:
btnGravity = Gravity.CENTER_HORIZONTAL;
break;
case R.id.rbRight:
btnGravity = Gravity.RIGHT;
break;
}
lParams.gravity = btnGravity;
58
Button btnNew = new Button(this);
btnNew.setText(etName.getText().toString());
llMain.addView(btnNew, lParams);
break;
case R.id.btnClear:
llMain.removeAllViews();
Toast.makeText(this, "Di Hapus",
Toast.LENGTH_SHORT).show();
break;
}
}
}
<RadioButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:checked="true"
android:text="Left"
android:id="@+id/rbLeft">
</RadioButton>
<RadioButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Center"
android:id="@+id/rbCenter">
</RadioButton>
<RadioButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Right"
android:id="@+id/rbRight">
</RadioButton>
</RadioGroup>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="wrap_content">
59
<EditText
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="1"
android:id="@+id/etName"
android:fadeScrollbars="true">
</EditText>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Create"
android:id="@+id/btnCreate">
</Button>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Clear"
android:id="@+id/btnClear">
</Button>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/llMain"
android:orientation="vertical">
</LinearLayout>
</LinearLayout>
60
LinearLayout llMain;
RadioGroup rgGravity;
EditText etName;
Button btnCreate;
Tombol klik btnCreate akan membuat tombol baru, dan tombol klik
btnClear akan menghapus seluruh tombol yang sudah dibuat.
Button btnNew dibuat dulu dengan tulisan yang diambil dari EditText
dengan id etName. Setiap kali btnCreate diklik akan terjadi ditambah satu
tombol btnNew dengan perintah addView.
lParams.gravity = btnGravity;
Button btnNew = new Button(this);
btnNew.setText(etName.getText().toString());
llMain.addView(btnNew, lParams);
61