<?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=".ButtonActivity"
android:orientation="vertical">
<Button
android:id="@+id/btm1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="点击了【取消】按钮"
android:layout_marginTop="100dp"
android:onClick="Click"/>
<Button
android:id="@+id/btm2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="简单列表对话框"
android:layout_marginTop="50dp"
android:onClick="Click"/>
<Button
android:id="@+id/btm3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="单选列表对话框"
android:layout_marginTop="50dp"
android:onClick="Click"/>
<Button
android:id="@+id/btm4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="多选列表对话框"
android:layout_marginTop="50dp"
android:onClick="Click"/>
<Button
android:id="@+id/btm5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="自定义VIEW对话框"
android:layout_marginTop="50dp"
android:onClick="Click"/>
</LinearLayout>
package com.example.myapplication;
import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.text.method.CharacterPickerDialog;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class ButtonActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
}
public void Click(View v){
switch(v.getId()){
//获取Button的id进行判断
case R.id.btm1:
//声明对话框构建器
AlertDialog.Builder btm1_builer = new AlertDialog.Builder(this);
//设置对话框标题
btm1_builer.setTitle("提示");
//设置对话框主体内容
btm1_builer.setMessage("请点击取消按钮");
//设置“取消”选项
btm1_builer.setNegativeButton("取消",null);
//显示构建器
btm1_builer.show();
break;
case R.id.btm2:
//声明对话框内容列表
final String[] btm2_items = {"C"};
//声明对话框构建器
AlertDialog.Builder btm2_builer = new AlertDialog.Builder(this);
//设置对话框标题
btm2_builer.setTitle("我是一个简单列表。");
//设置对话框的内容列表
btm2_builer.setItems(btm2_items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
//显示构建器
btm2_builer.show();
break;
case R.id.btm3:
//使用数组作为对话框内容列表
final String[] btm3_items = {"C","Java","Android"};
//声明对话框构建器
AlertDialog.Builder btm3_builer = new AlertDialog.Builder(this);
//设置对话框标题
btm3_builer.setTitle("我是一个单选列表。");
//设置对话框的内容列表
btm3_builer.setItems(btm3_items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
//显示构建器
btm3_builer.show();
break;
case R.id.btm4:
//使用数组作为对话框多选列表
final String[] btm4_items = {"C","C++","Python","Java","Android"};
//设置初始状态为不勾选
final boolean initChoiceSets[]={false,false,false,false,false};
//声明对话框构建器
AlertDialog.Builder btm4_builer = new AlertDialog.Builder(this);
//设置对话框标题
btm4_builer.setTitle("我是一个多选列表");
//设置对话框的多选列表
btm4_builer.setMultiChoiceItems(btm4_items, initChoiceSets, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
Log.i("TEST", which+";"+isChecked);
}
});
//设置“确定”选项
btm4_builer.setPositiveButton("确定",null);
//显示构建器
btm4_builer.show();
break;
case R.id.btm5:
//设置输入框
final EditText editText = new EditText(this);
//声明对话框构建器
AlertDialog.Builder btm5_builer = new AlertDialog.Builder(this);
//设置对话框标题,显示输入框
btm5_builer.setTitle("我是一个自定义对话框").setView(editText);
//设置“确定”选项
btm5_builer.setPositiveButton("确定",null);
//显示构建器
btm5_builer.show();
break;
}
}
}
效果: