警示对话框:实现简单对话框、单选列表对话框、复选对话框和自定义对话框功能,掌握几种对话框的代码实现。
实现代码:
MainActivity:
package com.example.alertdialog;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
private boolean[] status;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void exit(View view){
AlertDialog.Builder exitBuilder=new AlertDialog.Builder(this);
exitBuilder.setTitle("退出提示");
exitBuilder.setMessage("你确认要退出当前页面吗?");
exitBuilder.setPositiveButton("确认",null);
exitBuilder.setNegativeButton("取消",null);
exitBuilder.create().show();
exitBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MainActivity.this.finish();
}
});
}
public void singleChoice(View view){
String[] items=new String[]{"718","911","Taycan","Panamera","Macan","Cayenne"};
AlertDialog.Builder singleBuilder=new AlertDialog.Builder(this);
singleBuilder.setIcon(R.mipmap.ic_launcher);
singleBuilder.setTitle("请选择您选择车型");
singleBuilder.setSingleChoiceItems(items,1,null);
singleBuilder.setPositiveButton("确定",null);
singleBuilder.setNegativeButton("取消",null);
singleBuilder.create().show();
}
public void multiChoice(View view){
String[] hobbies=new String[]{"车身颜色及车轮","内饰颜色及座椅","选装","精装配件","养护"};
AlertDialog.Builder hobbyBuilder=new AlertDialog.Builder(this);
hobbyBuilder.setTitle("请选择选配项目");
hobbyBuilder.setIcon(R.mipmap.ic_launcher);
hobbyBuilder.setMultiChoiceItems(hobbies,status,null);
hobbyBuilder.setPositiveButton("确定",null);
hobbyBuilder.setNegativeButton("取消",null);
hobbyBuilder.create().show();
}
public void login(View view){
AlertDialog.Builder loginBuilder=new AlertDialog.Builder(this);
View loginView=getLayoutInflater().inflate(R.layout.login,null);
loginBuilder.setView(loginView);
loginBuilder.setPositiveButton("登陆",null);
loginBuilder.setNegativeButton("取消",null);
loginBuilder.create().show();
}
}
activity_mian.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".MainActivity"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登陆对话框"
android:textColor="#235C88"
android:onClick="login"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单选对话框"
android:textColor="#235C88"
android:onClick="singleChoice"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="多选对话框"
android:textColor="#235C88"
android:onClick="multiChoice"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="退出对话框"
android:textColor="#235C88"
android:onClick="exit"/>
</LinearLayout>
login.xml:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:stretchColumns="1">
<TextView
android:gravity="center"
android:text="欢迎登陆"
android:textSize="24sp"/>
<TableRow>
<TextView
android:text="账号:"
android:textSize="18sp"/>
<EditText android:hint="账号/邮箱/手机"/>
</TableRow>
<TableRow>
<TextView
android:text="密码:"
android:textSize="18sp"/>
<EditText android:hint="注意英文大小写"/>
</TableRow>
</TableLayout>
运行结果: