一、新建一个名为AlertDialog的工程。
二、打开main_activity.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" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="退出程序"
android:onClick="showdialog"/>
</RelativeLayout>
我们已经指定了该按钮的点击函数为showdialog。
三、打开mainactivity.java,添加showdialog函数:
public void showdialog(View view)
{
//Toast.makeText(this,"clickme",Toast.LENGTH_LONG).show();
AlertDialog.Builder alertdialogbuilder=new AlertDialog.Builder(this);
alertdialogbuilder.setMessage("您确认要退出程序");
alertdialogbuilder.setPositiveButton("确定", click1);
alertdialogbuilder.setNegativeButton("取消", click2);
AlertDialog alertdialog1=alertdialogbuilder.create();
alertdialog1.show();
}
注意第三行和第四行分别指定了两个按钮的文本,它们的帧听函数分别为click1,click2,在程序中定义:
private DialogInterface.OnClickListener click1=new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface arg0,int arg1)
{
android.os.Process.killProcess(android.os.Process.myPid());
}
};
private DialogInterface.OnClickListener click2=new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface arg0,int arg1)
{
arg0.cancel();
}
};
第一个onClick函数杀掉自己的进程,结束程序。第二个onClick函数取消对话框,返回到界面。
--------------------------------------activity_main.xml code:--------------------------------------------------
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.musk.pro01.MainActivity" tools:layout_editor_absoluteY="81dp" tools:layout_editor_absoluteX="0dp"> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="START" android:onClick="showdialog" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="457dp" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="EXIT" android:onClick="showdialog" tools:layout_editor_absoluteX="294dp" tools:layout_editor_absoluteY="457dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Fingerprint test demo" android:layout_marginStart="36dp" tools:layout_constraintTop_creator="1" android:layout_marginTop="53dp" app:layout_constraintTop_toBottomOf="@+id/textView" tools:layout_constraintLeft_creator="1" app:layout_constraintLeft_toRightOf="@+id/textView" /> </android.support.constraint.ConstraintLayout>
------------------------------------------MainActivity.java code:----------------------------------------------
package com.example.musk.pro01; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void showdialog(View view) { //Toast.makeText(this,"clickme",Toast.LENGTH_LONG).show(); AlertDialog.Builder alertdialogbuilder=new AlertDialog.Builder(this); alertdialogbuilder.setMessage("您确认要退出程序"); alertdialogbuilder.setPositiveButton("确定", click1); alertdialogbuilder.setNegativeButton("取消", click2); AlertDialog alertdialog1=alertdialogbuilder.create(); alertdialog1.show(); } private DialogInterface.OnClickListener click1=new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0,int arg1) { android.os.Process.killProcess(android.os.Process.myPid()); } }; private DialogInterface.OnClickListener click2=new DialogInterface.OnClickListener() {@Override public void onClick(DialogInterface arg0,int arg1) { arg0.cancel(); } }; }