【Android學習筆記】自訂AlertDialog對話方塊,androidalertdialog

來源:互聯網
上載者:User

【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)結果展示



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.