版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunshunli/article/details/82973728
创建android中分体式对话框需要四个步骤:
第一:获得AlertDialog的静态内部类Builder对象,有该类创建对话框。
第二:通过Builder对象设置对话框的标题,按钮UI及将要响应的事件。、
第三:调用Builder的Create()方法创建对对话框
第四:调用BUILDER的show()方法显示对话框。
MainActivity.java
public class MainActivity extends Activity {
// 声明组件
private TextView tv;
private Button btn;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 根据Id获取组件
tv = (TextView) findViewById(R.id.tv);
btn = (Button) findViewById(R.id.btn);
// 在按钮上注册监听器
btn.setOnClickListener(new OnClickListener() {
// 获得Builder对象
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
public void onClick(View v) {
// 通过builder对象设置对话框信息
builder.setMessage("真的要删除该记录吗?")
// 设置确定按钮及其相应事件处理
.setPositiveButton("是",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
tv.setText("删除成功!"+which);
}
})
// 设置取消按钮及其相应事件处理
.setNegativeButton("否",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
tv.append("取消删除?"+which);
}
});
//含第3个按钮的
builder.setNeutralButton("忽略", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
setTitle("点击了对话框的忽略按钮"+which);
}
});
// 创建对话框
AlertDialog ad = builder.create();
// 显示对话框
ad.show();
}
});
}
}
avtivity.main
<LinearLayout 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:orientation="vertical"
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="edu.qau.ch03_4_dialog.AlertDialog" >
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/delete" />
</LinearLayout>