Alert Dialog Android Studio
Buatlah terlebih dahulu sebuah proyek atau melanjutakan proyek yang sudah ada. Lihat pada postingan ini jika Anda belum pernah atau belum tahu cara membuat sebuah proyek.Alert Dialog muncul secara pop-up pada layar smartphone ketika sebuah tombol atau komponen lainnya di klik. Sebuah Alert Dialog biasanya difungsikan sebagai peringatan atau pemberitahuan. Bisa juga hal-hal lain, semua tergantung kepada si pemilik/pembuat aplikasinya.
Pada contoh dibawah ini kita akan membuat sebuah Alert Dialog yang difungsikan sebagai pemberitahuan mengenai sebuah "syarat dan ketentuan". Berikut sebuah gambar screenshoot contoh sebuah Alert Dialog :
Gambar 1 : Contoh Alert Dialog |
Penerapan Alert Dialog
Disini kita akan mempraktikkannya pada sebuah TextView, ketika teks tersebut di klik akan memunculkan Alert Dialog tentang "syarat dan ketentuan" penggunaan sebuah aplikasi. Pertama-tama setelah proyek dibuat, buatlah sebuah TextView pada activity_main.xml.Kenapa TextView, Kenapa bukan Button saja? Karena Button sudah pernah dibahas pada postingan tersendiri. Silahkan dilihat pada postingan ini. Disini kita menggunakan TextView sekalian belajar tentang cara membuat event listener pada sebuah TextView.
Berikut kode lengkap pada activity_main.xml :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textAlert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:textSize="25sp"
android:text="Syarat dan Ketentuan"/>
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textAlert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:textSize="25sp"
android:text="Syarat dan Ketentuan"/>
</RelativeLayout>
Selanjutnya adalah membuat event listener untuk TextView tersebut pada java file aktivitas yang di gunakan. Karena kita membuatnya pada activity_main, maka file java aktivitasnya adalah MainActivity.java.
Pertama adalah menemukan id dari TextView diatas menggunakan findViewByid. Kemudian menambahkan event listener dengan setOnClickListener. Setelah menambahkan event listener, secara otomatis akan muncul sebuah metode onClick didalam metode setOnClickListener tersebut (jika diketik secara manual). Dan Alert Dialog dibuat didalam metode onClick tersebut. Berikut kode lengkap pada MainActivity.java :
import android.content.DialogInterface;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* Mendapatkan id dari TextView */
TextView tv = findViewById(R.id.textAlert);
/* Event Listener untuk TextView */
tv.setOnClickListener(new View.OnClickListener() {
@Override
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
public void onClick(View v) {
/* Membuat Alert Dialog */
AlertDialog.Builder ab = new AlertDialog.Builder(MainActivity.this);
ab.setCancelable(false);
ab.setMessage(R.string.syarat_ketentuan);
ab.setPositiveButton("Setuju", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/* Jika Pengguna mengklik setuju, maka penggunaan aplikasi dilanjut */
dialog.cancel();
}
});
ab.setNegativeButton("Tidak Setuju", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/* Jika pengguna memilih tidak setuju, Maka akan keluar dari aplikasi */
finishAffinity();
}
});
AlertDialog alert = ab.create();
alert.show();
}
});
}
}
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* Mendapatkan id dari TextView */
TextView tv = findViewById(R.id.textAlert);
/* Event Listener untuk TextView */
tv.setOnClickListener(new View.OnClickListener() {
@Override
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
public void onClick(View v) {
/* Membuat Alert Dialog */
AlertDialog.Builder ab = new AlertDialog.Builder(MainActivity.this);
ab.setCancelable(false);
ab.setMessage(R.string.syarat_ketentuan);
ab.setPositiveButton("Setuju", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/* Jika Pengguna mengklik setuju, maka penggunaan aplikasi dilanjut */
dialog.cancel();
}
});
ab.setNegativeButton("Tidak Setuju", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/* Jika pengguna memilih tidak setuju, Maka akan keluar dari aplikasi */
finishAffinity();
}
});
AlertDialog alert = ab.create();
alert.show();
}
});
}
}
Catatan : Metode setOnClickListener dibuat didalam metode onCreate.
Pada kode diatas, bagian kalimat untuk "syarat dan ketentuan" telah di buat sebelumnya pada folder value resource, yaitu strings.xml sehingga kita hanya perlu memanggilnya dengan (R.string.syarat_ketentuan);
Folder strings.xml terletak pada res > value > strings.xml. Buka folder strings tersebut lalu tempelkan kalimat berikut didalam tag <resources>. Atau Anda bisa juga membuat kalimat sendiri. Contoh : <string name="syarat_ketentuan">isi kalimat Anda disini</string>
<string name="syarat_ketentuan">SYARAT DAN KETENTUAN
\n\nSelamat datang di Aplikasi ini!
\nSyarat dan Ketentuan ini mengandung hal-hal tentang aturan penggunaan Aplikasi.
\nDengan menggunakan Aplikasi ini, Anda setuju terhadap syarat dan penggunaan aplikasi. Jika Anda tidak setuju
terhadap syarat dan ketentuan aplikasi, mohon hapus aplikasi kami dari smartphone Android Anda.
\n\nAnda dilarang keras :
\n — Menyalin isi aplikasi dan menyebarkannya.
\n — Mengekstrak kode sumber aplikasi.
\n — Menjual konten aplikasi.
\n\n Dan seterusnya…
</string>
\n\nSelamat datang di Aplikasi ini!
\nSyarat dan Ketentuan ini mengandung hal-hal tentang aturan penggunaan Aplikasi.
\nDengan menggunakan Aplikasi ini, Anda setuju terhadap syarat dan penggunaan aplikasi. Jika Anda tidak setuju
terhadap syarat dan ketentuan aplikasi, mohon hapus aplikasi kami dari smartphone Android Anda.
\n\nAnda dilarang keras :
\n — Menyalin isi aplikasi dan menyebarkannya.
\n — Mengekstrak kode sumber aplikasi.
\n — Menjual konten aplikasi.
\n\n Dan seterusnya…
</string>
Arti "\n" pada kalimat diatas adalah seperti enter atau memberi baris baru, seperti <br/> pada HTML. Pembuatan baris baru pada value resources strings adalah seperti itu, "\n".
Menguji Alert Dialog
Selanjutnya adalah menjalankan aplikasi. Berikut video pendek setelah aplikasi dijalankan pada Android Smartphone. Ketika memilih "setuju" aplikasi berlanjut, dan memilih "tidak setuju" penggunaan aplikasi berakhir.Jika ada pertanyaan atau sesuatu yang ingin Anda sampaikan, jangan ragu! Posting melalui komentar atau melalui media lain yang bisa dilihat pada halaman Contact.
0 comments:
Post a Comment