Button (Tombol) Android Studio
Button (tombol) di Android adalah komponen GUI (Graphical User Interface) yang peka terhadap klik. GUI sendiri adalah suatu cara untuk mengkomunikasikan apa yang di inginkan-terhadap sebuah aplikasi komputer atau sistem operasi tanpa perlu mengetik perintah-perintah, contohnya : icon dan arrows.Ada 2 jenis tombol di Android Studio :
- Button dengan Teks, sebuah tombol yang mengandung teks di dalamnya.
- Button dengan Gambar, sebuah tombol yang mengandung sebuah gambar di dalamnya (ImageButton).
Button dengan Teks
Tombol dengan teks ini diwakili oleh Class Android yaitu : android.widget.Button. Sebuah tombol dapat dimasukkan ke dalam GUI melalui .XML file atau secara terprogram pada .java file.Cara menambah Button (tombol) ke Aplikasi Android melalui sebuah layout XML file yaitu hanya dengan memasukkan sebuah elemen tombol pada layout tersebut, di tempat dimana Anda ingin tombol tersebut di tempatkan pada jangkauan layout. Berikut contoh sebuah tombol dengan teks pada layout XML :
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BUTTON TEXT" />
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BUTTON TEXT" />
- Atribut android:id adalah identitas unik untuk tombol tersebut.
- Atribut android:layout_width dan layout_height adalah ukuran pada tombol tersebut. Yang mana width adalah lebar dan height adalah tingginya. wrap_content mengartikan bahwa ukuran menyesuaikan terhadap komponennya.
- Atribut android:text adalah teks yang akan di tampilkan di dalam komponen tombol tersebut.
Public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Menambah tombol secara terprogram
Button button1 = new Button (this);
button1.setText("BUTTON TEXT");
//Memasukkan tombol ke layout
RelativeLayout relativelayout = findViewById(R.id.rootlayout);
relativelayout.addView(button1);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Menambah tombol secara terprogram
Button button1 = new Button (this);
button1.setText("BUTTON TEXT");
//Memasukkan tombol ke layout
RelativeLayout relativelayout = findViewById(R.id.rootlayout);
relativelayout.addView(button1);
}
}
Button dengan Gambar (Image Button)
Pengertian dan cara implementasi juga sama seperti Button dengan Teks, hanya ada penambahan atribut untuk memasukkan gambar ke dalam tombol dan perbedaan nama dalam menambah tombol. Berikut contoh menambahkan ImageButton pada sebuah layout XML :
<ImageButton
android:id="@+id/buttonImage1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/buttonimage" />
android:id="@+id/buttonImage1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/buttonimage" />
- Atribut android:src digunakan untuk memanggil gambar yang ingin dimasukkan. Pada contoh diatas, sumber gambar yang ingin di masukkan berada pada folder drawable. Dan buttonimage setelah drawable tersebut adalah nama file gambarnya. Selebihnya untuk penjelasan atribut-atribut lain adalah sama dengan Button dengan Teks.
Public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Menambah tombol gambar secara terprogram
ImageButton buttonImage1 = new ImageButton (this);
buttonImage1.setImageResource("R.drawable.buttonimage);
//Memasukkan tombol gambar ke layout
RelativeLayout relativelayout = findViewById(R.id.rootlayout);
relativelayout.addView(buttonImage1);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Menambah tombol gambar secara terprogram
ImageButton buttonImage1 = new ImageButton (this);
buttonImage1.setImageResource("R.drawable.buttonimage);
//Memasukkan tombol gambar ke layout
RelativeLayout relativelayout = findViewById(R.id.rootlayout);
relativelayout.addView(buttonImage1);
}
}
Penanganan Saat Tombol di Klik
Maksud dari penanganan disini adalah : apa yang Anda inginkan saat tombol di klik; apakah ingin menampilkan sebuah pesan, meluncurkan aktivitas, menghakiri sebuah aktivitas, dan lain sebagainnya. Untuk menangani klik, cukup dengan menambahkan atribut android:onClick pada elemen tombol (baik tombol dengan teks ataupun tombol dengan gambar) tersebut. Berikut penerapannya pada contoh button dengan teks sebelumnya :
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="AkhiriAktivitas"
android:text="BUTTON TEXT" />
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="AkhiriAktivitas"
android:text="BUTTON TEXT" />
Pada contoh diatas, kita akan menghakiri sebuah aktivitas saat tombol di klik. Setelah atribut onClick di tambahkan, berikutnya adalah membuat metode onClick tersebut pada file java MainActivity setelah metode onCreate :
Public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Menambah tombol secara terprogram
Button button1 = new Button (this);
button1.setText("BUTTON TEXT");
//Memasukkan tombol ke layout
RelativeLayout relativelayout = findViewById(R.id.rootlayout);
relativelayout.addView(button1);
}
//Metode android.view.View class untuk penanganan klik tombol
public void AkhiriAktivitas (View view) {
finish();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Menambah tombol secara terprogram
Button button1 = new Button (this);
button1.setText("BUTTON TEXT");
//Memasukkan tombol ke layout
RelativeLayout relativelayout = findViewById(R.id.rootlayout);
relativelayout.addView(button1);
}
//Metode android.view.View class untuk penanganan klik tombol
public void AkhiriAktivitas (View view) {
finish();
}
}
finish(); digunakan untuk mengakhiri sebuah aktivitas dimana Anda berada saat itu, dan mengembalikan Anda dimana Anda berada sebelumnya. Contohnya saat Anda membuka aplikasi, tempat yang Anda injak pertama kali adalah MainActivity atau aktivitas launcher. Kemudian Anda pergi ke aktivitas lain, setelah itu Anda menglik tombol yang dibuat diatas yang berisi finish(); maka Anda akan kembali ke aktivitas launcher. Namun berbeda saat Anda membuka aplikasi kemudian mengklik tombol yang dibuat diatas maka Anda akan kembali ke layar utama smartphone android Anda.
Penangan saat tombol di klik juga dapat di implementasikan langsung melalui file java (tanpa menambahkan atribut onClick di XML), yaitu dengan menambahkan setOnClickListener pada tombol yang dibuat secara terprogram tadi, namun penambahan dibuat di dalam metode onCreate. Berikut caranya :
Public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Menambah tombol secara terprogram
Button button1 = new Button (this);
button1.setText("BUTTON TEXT");
//Penanganan klik tombol secara terprogram
button1.setOnClickListener (new OnClickListener) {
@Override
public void onClick (View v) {
finish();
}
});
//Memasukkan tombol ke layout
RelativeLayout relativelayout = findViewById(R.id.rootlayout);
relativelayout.addView(button1);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Menambah tombol secara terprogram
Button button1 = new Button (this);
button1.setText("BUTTON TEXT");
//Penanganan klik tombol secara terprogram
button1.setOnClickListener (new OnClickListener) {
@Override
public void onClick (View v) {
finish();
}
});
//Memasukkan tombol ke layout
RelativeLayout relativelayout = findViewById(R.id.rootlayout);
relativelayout.addView(button1);
}
}
Untuk penanganan klik pada Button dengan Gambar adalah sama dengan Button dengan Teks. Jika ada pertanyaan atau sesuatu yang ingin Anda sampaikan, jangan ragu untuk memposting melalui komentar atau via email pada gwnbstudio@gmail.com.
0 comments:
Post a Comment