標籤:
package com.imooc.dialog;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Toast;public class MainActivity extends Activity { String [] single_list = {"男","女","女博士","程式員"}; String [] multi_list = {"籃球","足球","男生","女生"}; String [] item_list = {"專案經理","策劃","測試","美工","程式猿"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initEvent(); } /** * 初始化點擊事件 */ private void initEvent() { findViewById(R.id.dialog_btn1).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub showDialog1(); } }); findViewById(R.id.dialog_btn2).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub showDialog2(); } }); findViewById(R.id.dialog_btn3).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub showDialog3(); } }); findViewById(R.id.dialog_btn4).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub showDialog4(); } }); findViewById(R.id.dialog_btn5).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub showDialog5(); } }); } /** * 顯示確認對話方塊 */ private void showDialog1() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("確認對話方塊");//設定標題 builder.setIcon(R.drawable.ic_launcher);//設定表徵圖 builder.setMessage("確認對話方塊提示內容");//設定內容 builder.setPositiveButton("確定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "點擊了確定按鈕!", Toast.LENGTH_SHORT).show(); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "點擊了取消按鈕!", Toast.LENGTH_SHORT).show(); } }); AlertDialog dialog = builder.create();//擷取dialog dialog.show();//顯示對話方塊 } /** * 顯示選項按鈕對話方塊 */ private void showDialog2() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("選擇性別");//設定標題 builder.setIcon(R.drawable.ic_launcher);//設定表徵圖 builder.setSingleChoiceItems(single_list, 0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub String str = single_list[which]; Toast.makeText(MainActivity.this, "這個人是"+str+"!", Toast.LENGTH_SHORT).show(); } }); AlertDialog dialog = builder.create();//擷取dialog dialog.show();//顯示對話方塊 } /** * 顯示多選按鈕對話方塊 */ private void showDialog3() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("愛好");//設定標題 builder.setIcon(R.drawable.ic_launcher);//設定表徵圖 builder.setMultiChoiceItems(multi_list, null, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { // TODO Auto-generated method stub if(isChecked){ Toast.makeText(MainActivity.this, "我喜歡上了"+multi_list[which]+"!", Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(MainActivity.this, "我不喜歡"+multi_list[which]+"了!", Toast.LENGTH_SHORT).show(); } } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.dismiss(); } }); AlertDialog dialog = builder.create();//擷取dialog dialog.show();//顯示對話方塊 } /** * 顯示列表對話方塊 */ private void showDialog4() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("部門列表");//設定標題 builder.setIcon(R.drawable.ic_launcher);//設定表徵圖 builder.setItems(item_list, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "我動了"+item_list[which]+"!", Toast.LENGTH_SHORT).show(); } }); AlertDialog dialog = builder.create();//擷取dialog dialog.show();//顯示對話方塊 } /** * 顯示自訂對話方塊 */ private void showDialog5() { LayoutInflater inflater = LayoutInflater.from(this); View view = inflater.inflate(R.layout.dialog_layout, null); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("自訂對話方塊");//設定標題 builder.setIcon(R.drawable.ic_launcher);//設定表徵圖 builder.setView(view); AlertDialog dialog = builder.create();//擷取dialog dialog.show();//顯示對話方塊 }}
Android 5中樣式對話方塊