<?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;
}
}
}
效果: