Untuk lebih mudahnya maka pada tutorial ini saya akan memberikan 2 contoh sekaligus.
1. Linear Layout
Ikutilah langkah berikut:
- Buatlah sebuah project Android di Eclipse.
- Kemudian, buka file xml yang berada di direktori res>layout.
- Kemudian, ubah source code di dalamnya menjadi seperti berikut.12345678910111213141516
<?xmlversion="1.0"encoding="utf-8"?>android:id="@+id/linear1"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><Buttonandroid:id="@+id/btnTambahEditText"android:text="Tambah EditText"android:layout_width="fill_parent"android:layout_height="wrap_content"/></LinearLayout> - Kemudian, buka file java yang berada di direktori src dan ubah source code di dalamnya menjadi seperti berikut. (Catatan: Nama Package dan class nya sesuaikan dengan yang Anda buat sendiri).1234567891011121314151617181920212223242526272829303132333435363738
packagejaco.belajar;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.LinearLayout;/**** @author Yudi Setiawan**/publicclassMainActivityextendsActivity {@OverrideprotectedvoidonCreate(Bundle b) {super.onCreate(b);setContentView(R.layout.activity_main);finalLinearLayout linear1 = (LinearLayout) findViewById(R.id.linear1);Button btnTambahEditText = (Button) findViewById(R.id.btnTambahEditText);btnTambahEditText.setOnClickListener(newView.OnClickListener() {@OverridepublicvoidonClick(View v) {LinearLayout.LayoutParams linearParams =newLinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);EditText et =newEditText(MainActivity.this);et.setLayoutParams(linearParams);linear1.addView(et);}});}} - Sekarang running program tersebut maka, outputnya akan terlihat seperti pada gambar berikut. Lihat, mudah bukan cara membuat komponen dynamic di Android.
Gambar : 0.1
Gambar : 0.2
Sedikit keterangan, bahwa fungsi LinearLayout.LayoutParams ialah untuk membuat width dan height dari komponennya.
2. Table Layout
- Buatlah sebuah project android.
- Buka file xml yang berada di direktori res>layout dan ubah source code di dalamnya menjadi seperti berikut.123456789101112131415161718192021222324252627282930313233343536373839404142434445
<?xmlversion="1.0"encoding="utf-8"?>android:layout_width="match_parent"android:layout_height="match_parent"android:scrollbars="vertical"><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><RelativeLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/btnTambahNama"android:text="Tambah Nama"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"/><Buttonandroid:id="@+id/btnTambahUmur"android:text="Tambah Umur"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"/></RelativeLayout><TableLayoutandroid:id="@+id/table1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:stretchColumns="2"></TableLayout></LinearLayout></ScrollView> - Buka file java yang berada di direktori src dan ubah source code di dalamnya menjadi seperti berikut.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
packagejaco.belajar;importandroid.app.Activity;importandroid.os.Bundle;importandroid.text.InputType;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.TableLayout;importandroid.widget.TableRow;importandroid.widget.TextView;/**** @author Yudi Setiawan**/publicclassMainActivityextendsActivity {@OverrideprotectedvoidonCreate(Bundle b) {super.onCreate(b);setContentView(R.layout.activity_main);finalTableLayout table1 = (TableLayout) findViewById(R.id.table1);finalTableRow.LayoutParams rowParams =newTableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT);rowParams.setMargins(0,0,20,0);Button btnTambahNama = (Button) findViewById(R.id.btnTambahNama);btnTambahNama.setOnClickListener(newView.OnClickListener() {@OverridepublicvoidonClick(View v) {TableRow trNama =newTableRow(MainActivity.this);TextView tvNama =newTextView(MainActivity.this);tvNama.setText("Nama");tvNama.setLayoutParams(rowParams);TextView tvTitik =newTextView(MainActivity.this);tvTitik.setText(":");EditText etNama =newEditText(MainActivity.this);trNama.addView(tvNama);trNama.addView(tvTitik);trNama.addView(etNama);table1.addView(trNama);}});Button btnTambahUmur = (Button) findViewById(R.id.btnTambahUmur);btnTambahUmur.setOnClickListener(newView.OnClickListener() {@OverridepublicvoidonClick(View v) {TableRow trUmur =newTableRow(MainActivity.this);TextView tvUmur =newTextView(MainActivity.this);tvUmur.setText("Umur");tvUmur.setLayoutParams(rowParams);TextView tvTitik =newTextView(MainActivity.this);tvTitik.setText(":");EditText etUmur =newEditText(MainActivity.this);etUmur.setInputType(InputType.TYPE_CLASS_NUMBER);trUmur.addView(tvUmur);trUmur.addView(tvTitik);trUmur.addView(etUmur);table1.addView(trUmur);}});}} - Running projectnya dan outputnya akan seperti berikut.
Gambar : 0.3
Gambar : 0.4

ConversionConversion EmoticonEmoticon