【Android學習筆記】自訂AlertDialog對話方塊,androidalertdialog
(1)布局檔案:
<RelativeLayout 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: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=".MainActivity" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="70dp" android:layout_marginTop="62dp" android:text="警告對話方塊" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button1" android:layout_below="@+id/button1" android:layout_marginTop="64dp" android:text="多選對話方塊" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button2" android:layout_below="@+id/button2" android:layout_marginTop="60dp" android:text="單選對話方塊" /></RelativeLayout>
(2)類的檔案:
package com.example.alertdialog;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;/** * 警告對話方塊的使用 * * @author piaodangdehun * */public class MainActivity extends Activity {private Button button1;// 警告對話方塊private Button button2;// 多選對話方塊private Button button3;// 單選對話方塊private AlertDialog.Builder builder; // 為button1設定的對話方塊,當有一個對話方塊的時候可以使用全域的定義@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = (Button) this.findViewById(R.id.button1);button2 = (Button) this.findViewById(R.id.button2);button3 = (Button) this.findViewById(R.id.button3);/* * 1.警告對話方塊的設定 */builder = new AlertDialog.Builder(this);builder.setTitle("提示框");builder.setMessage("你確定要刪除嗎?");builder.setIcon(R.drawable.ic_launcher); // 設定圖片/* * 確定對話方塊 */builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "確認刪除", 1).show();}});/* * 取消對話方塊 */builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "取消刪除", 1).show();}});/* * 忽略對話方塊 */builder.setNeutralButton("忽略", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "忽略刪除", 1).show();}});button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {builder.show();}});/* * 2.多選對話方塊 * 當有多個對話方塊的時候在具體的時間內不進行聲明定義 */button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {/* * 對話方塊的建立 */AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setTitle("請選擇愛好");final String[] hobby = { "上網", "打遊戲", "聊天" };/* * 選擇的列表 */builder.setMultiChoiceItems(hobby, new boolean[] { true, false,false },new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which, boolean isChecked) {if (isChecked) {Toast.makeText(MainActivity.this,"-->>" + hobby[which], 1).show();}}});/* * 取消按鈕 */builder.setPositiveButton("確定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {}});builder.setNegativeButton("取消",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {}});builder.show();}});/* * 3.單選對話方塊的設定 */button3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubAlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setTitle("XX");builder.setSingleChoiceItems(new String[]{"上網", "打遊戲", "聊天"}, -1, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}});builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}});builder.show();}});}/* * private final View.OnClickListener mylistenerClickListener = new * OnClickListener() { * * @Override public void onClick(View v) { // TODO Auto-generated method * stub * * } }; */@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
(3)結果展示