【Android学习笔记】自定义AlertDialog对话框
来源:互联网 发布:软件编程工具 编辑:程序博客网 时间:2024/05/21 10:35
(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;}}
注意:使用完dialog之后要关闭:
<strong>private AlertDialog dialog;dialog = builder.show();dialog.dismiss();</strong>并且如果要关闭activity的话一定要在关闭activity之前关闭dialog!
不然会报错!
(3)结果展示
1 0
- 【Android学习笔记】自定义AlertDialog对话框
- Android AlertDialog对话框 学习笔记
- Android 自定义AlertDialog对话框
- android,Alertdialog,自定义对话框
- Android--自定义对话框--AlertDialog
- Android学习笔记常见对话框AlertDialog
- Android自定义Alertdialog对话框实现
- Android之AlertDialog自定义对话框
- android自定义对话框(AlertDialog)
- Android 自定义AlertDialog退出对话框
- Android 自定义AlertDialog退出对话框
- Android笔记:Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- AlertDialog 对话框属性学习笔记
- Android应用开发学习笔记之AlertDialog对话框
- 自定义 Android 对话框 (AlertDialog) 的样式
- 完全自定义Android对话框AlertDialog的实现
- 自定义 Android 对话框 (AlertDialog) 的样式
- 自定义 Android 对话框 (AlertDialog) 的样式
- Linux文件系统卷标设置方法
- 运营商玩“跨界” 发力车联网寻商机
- install sun-java6-jdk
- windows下利用OpenVPN搭建VPN服务器
- Centos系统的单网卡绑定双ip的设置
- 【Android学习笔记】自定义AlertDialog对话框
- C++静态成员变量
- wavesurfer奔溃的情况
- ldap server
- PowerSync DB-9 - Prolific Edition
- lib 问题
- grep,sed,awk简单使用说明
- ldap client
- centos 安装 gridengine