Dalam tutorial ini, kita akan menambah sebelumnya
AlertDialog
, untuk membuatnya mampu menerima input, seperti PromptDialog. Lebih spesifik, ini seperti AlertDialog.
Lihat langkah-langkah berikut:
- Membuat layout dialog prompt (file XML).
- Melampirkan tata letak dialog prompt untuk
AlertDialog.Builder
. - Melampirkan
AlertDialog.Builder
untukAlertDialog
. - Done :D
Contoh Membuat Project Android
1. Pada Android Studio, buatlah project baru.
=> Jika Anda tidak memiliki sebuah project, di layar Welcome klik New Project.
=> Jika Anda telah membuka project, dari menu File, pilih New Project.
=> Jika Anda telah membuka project, dari menu File, pilih New Project.
3. Pada Select the form factors your app will run on, centang untuk Phone and Tablet.
=> Untuk Minimum SDK, pilih API 10: Android 2.3.3 (Gingerbread). klik Next.4. Pada Add an activity to Mobile, pilih Blank Activity dan klik Next.
Next ->
5. Klik tombol Finish untuk membuat project.
6. Pilih View Anda sebagai Project, Buka file layout untuk kegiatan utama (activity_main.xml) terletak di bawah App ⇒ res ⇒ layout.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="promptdialog.megadistudio.com.promptdialog.MainActivity" android:background="@android:color/holo_green_light"> <TextView android:text="@string/tk" android:textSize="50sp" android:textStyle="bold" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:id="@+id/textView" /> <ImageView android:layout_width="150dp" android:layout_height="150dp" app:srcCompat="@drawable/tk" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" android:layout_marginTop="10dp" android:id="@+id/imageView" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:ems="10" android:id="@+id/editText" android:layout_below="@+id/imageView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginTop="32dp" android:background="@android:color/background_light" /> <Button android:text="Button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="55dp" android:id="@+id/button" android:layout_alignTop="@+id/editText" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> </RelativeLayout>
7. Selanjutnya, buatlah file xml dan beri nama prompt. caranya, klik kanan pada folder layout => new => layout resource file.
prompt.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:text="@string/msg" android:textSize="20sp" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textView2" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPersonName" android:ems="10" android:id="@+id/editText2"> <requestFocus/> </EditText> </LinearLayout>
8. Buka string.xml terletak di app ⇒ res ⇒ value dan copy kode di bawah ini.
string.xml
<resources> <string name="app_name">PromptDialog</string> <string name="tk">Tahu Koding</string> <string name="msg">Your message : </string> </resources>
9. Sekarang Buka MainActivity.java terletak di app ⇒ src ⇒ Java dan copy kode di bawah ini.
MainActivity.java
package promptdialog.megadistudio.com.promptdialog; import android.content.Context; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends AppCompatActivity { final Context context = this; private Button btn; private EditText result; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.button); result = (EditText) findViewById(R.id.editText); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { LayoutInflater li = LayoutInflater.from(context); View promptView = li.inflate(R.layout.prompt, null); AlertDialog.Builder alertDialog = new AlertDialog.Builder(context); alertDialog.setView(promptView); final EditText userinput = (EditText) promptView.findViewById(R.id.editText2); alertDialog.setCancelable(false).setPositiveButton("Ok", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog,int id) { result.setText(userinput.getText()); } }) .setNegativeButton("Cancel", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alertDialog1 = alertDialog.create(); alertDialog1.show(); } }); } }
Untuk menjalankan aplikasi dari Android Studio , klik Run ikon dari toolbar.