Membuat UI Dari Kode Pemrograman

Sejauh ini kita sudah tahu semua UI yang dibuat melalui file XML. Tetapi selain menggunakan file XML kita juga bisa membuat UI dari kode pemrograman java. Cara ini akan bermanfaat bila UI kita perlu ditampilkan secara dinamis saat runtime. Misalnya, kita akan membuat sistem pemesanan tiket bioskop dan app kita akan menampilkan kursi masing-masing bioskop menggunakan button. Dalam hal ini, kita akan perlu menggunakan UI secara dinamis berdasarkan bioskop yang dipilih oleh user.

Berikut adalah contoh latihan membuat UI dari kode pemrograman.

1. Kita buat project baru dan kita beri nama, misalnya “UIDinamis”.

2. Kita modifikasi dan tambahkan kode berikut dalam file “MainActivity.java”:
package id.co.blogspot.diansano.uidinamis;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
/*param untuk view*/
LayoutParams params=
new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT);

/*buat layout*/
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);

/*buat textview*/
TextView tv = new TextView(this);
tv.setText("Ini adalah TextView");
tv.setLayoutParams(params);

/*buat button*/
Button btn = new Button(this);
btn.setText("Ini adalah Button");
btn.setLayoutParams(params);

/*menambahkan textview*/
layout.addView(tv);

/*menambahkan button*/
layout.addView(btn);

/*buat layout param untuk layout*/
LinearLayout.LayoutParams layoutParams =
new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT);

this.addContentView(layout, layoutParams);
}
}
3. Kita jalankan di emulator Android Studio. Hasilnya adalah seperti gambar berikut:
View yang dihasilkan dari kode pemrograman

Penjelasan:

Dalam contoh di atas, kita terlebih dahulu menutup kode ‘setContentView()’ dengan tanda komentar sehingga kode tersebut tidak akan me-load file “activity_main.xml”.

Kemudian kita buat object ‘LayoutParams’ untuk membuat parameter layout yang bisa digunakan oleh view yang lain yang akan kita buat berikutnya:
/*param untuk view*/
LayoutParams params=
new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT);
Kita juga membuat object ‘LinearLayout’ untuk menampung semua view di dalam activity kita:
/*buat layout*/
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
Berikutnya, kita membuat ‘TextView’ dan ‘Button’:
/*buat textview*/
TextView tv = new TextView(this);
tv.setText("Ini adalah TextView");
tv.setLayoutParams(params);

/*buat button*/
Button btn = new Button(this);
btn.setText("Ini adalah Button");
btn.setLayoutParams(params);
Kemudian kita tambahkan ke object ‘LinearLayout’:
/*menambahkan textview*/
layout.addView(tv);

/*menambahkan button*/
layout.addView(btn);
Selain itu kita juga membuat object ‘LayoutParams’ untuk digunakan oleh object ‘LinearLayout’:
/*buat layout param untuk layout*/
LinearLayout.LayoutParams layoutParams =
new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT);
Terakhir kita tambahkan object ‘LinearLayout’ ke activity:
this.addContentView(layout, layoutParams);
Seperti yang kita lihat, membuat UI dari kode-kode pemrograman sangat melelahkan. Jadi kita gunakan cara ini hanya bila benar-benar diperlukan.

No comments: