Android实现对话框控件Dialog
来源:互联网 发布:战舰世界亚利桑那数据 编辑:程序博客网 时间:2024/05/21 10:45
学习Android三四天了,今天给大家分享一下我的dialog对话空间的实现。想实现四种形式,如下图所示。
上面是第一个按钮实现的单选对话框,那么如何实现全部功能呢。
首先需要在布局文件(activity_main.xml)中添加布局,代码如下:
<?xml version="1.0" encoding="utf-8"?><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"> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="@string/hello_world" /> <!-- 单选对话框 --> <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/text" android:text="@string/dialog"/> <!-- 多选对话框 --> <Button android:id="@+id/button2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/button" android:text="@string/dialogs"/> <!-- 按键选择对话框 --> <Button android:id="@+id/button3" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/button2" android:text="@string/paly_button"/> <!-- 三个按键选择对话框 --> <Button android:id="@+id/button4" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/button3" android:text="@string/palys_button"/></RelativeLayout>
布局完成后,需要实现主活动的Java代码,代码实现如下:
package com.open_open.myapplication;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.widget.Button;public class MainActivity extends Activity implements android.view.View.OnClickListener { //实现监听方法 private Button button,button2,button3,button4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)findViewById(R.id.button); button2=(Button)findViewById(R.id.button2); button3=(Button)findViewById(R.id.button3); button4=(Button)findViewById(R.id.button4); button.setOnClickListener(this); button2.setOnClickListener(this); button3.setOnClickListener(this); button4.setOnClickListener(this); } private int m=-1; @Override public void onClick(View v) { // TODO 自动生成的方法存根 switch(v.getId()) { case R.id.button: dialog1();//单选对话框 break; case R.id.button2: dialog2();//多选对话框 break; case R.id.button3: dialog3();//两个按键对话框 break; case R.id.button4: dialog4();//三个按键对话框 break; } } //单选对话框 public void dialog1() { Builder Diy_Dialog = new AlertDialog.Builder(MainActivity.this); //在这个MainActivity中创建一个提示新的对话框,创建为一个对象Diy_Dialog Diy_Dialog.setTitle("国家");//标题 String[] lg_item = { "中国", "韩国","日本" ,"美国"}; Diy_Dialog.setSingleChoiceItems(lg_item, m,new DialogInterface.OnClickListener() { //放置一个单选对话框 //在setSingleChoiceItems(指定对话框选择项的字符,一个选择项的序号,对这个单选对话框创建监听 ) @Override public void onClick(DialogInterface dialog1, int which) {// } }); Diy_Dialog.setPositiveButton("确认",new DialogInterface.OnClickListener() { //放置一个Dialog按键 (按键字符,对这个按键dialog实现监听) @Override public void onClick(DialogInterface dialog, int which) { // TODO 自动生成的方法存根 dialog.dismiss();//释放dialog对话框 //MainActivity.this.finish();//结束这个主活动 } }); Diy_Dialog.create().show();//创建并显示对话框 } //多选对话框 private void dialog2() { final Builder Diy_Dialogs = new AlertDialog.Builder(MainActivity.this); //在这个MainActivity中创建一个提示新的对话框,创建为一个对象Diy_Dialog Diy_Dialogs.setTitle("国家");//标题 // Diy_Dialog2.setMessage("你喜欢的国家"); String[] lg_item = { "中国", "美国","韩国","日本" }; final boolean[] lg_size = {false,false,false,false}; Diy_Dialogs.setMultiChoiceItems(lg_item, lg_size,new DialogInterface.OnMultiChoiceClickListener(){ //放置一个多选选对话框 //在setSingleChoiceItems(指定对话框选择项的字符,一个选择项的序号,对这个单选对话框创建监听 ) @Override public void onClick(DialogInterface dialog, int which,boolean isChecked) { //() // TODO 自动生成的方法存根 //lg_size[which]=isChecked; } }); Diy_Dialogs.setPositiveButton("确认",new DialogInterface.OnClickListener() { //放置一个Dialog按键 (按键字符,对这个按键dialog实现监听) @Override public void onClick(DialogInterface dialog, int which) { // TODO 自动生成的方法存根 dialog.dismiss();//释放dialog对话框 //MainActivity.this.finish();//结束这个主活动 } }); Diy_Dialogs.create().show();//创建并显示对话框 } //选择对话框两个按键 private void dialog3() { Builder two_dialog= new AlertDialog.Builder(this); //构建dialog对象 two_dialog.setTitle("提示");//标题 two_dialog.setMessage("确认退出吗?");//内容 two_dialog.setPositiveButton("确认",new DialogInterface.OnClickListener() { //放置一个Dialog按键 (按键字符,对这个按键dialog实现监听) @Override public void onClick(DialogInterface dialog, int which) { // TODO 自动生成的方法存根 dialog.dismiss();//释放dialog对话框 MainActivity.this.finish();//结束这个主活动 } }); two_dialog.setNeutralButton("取消",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO 自动生成的方法存根 dialog.dismiss();//释放dialog对话框 // MainActivity.this.finish();//结束这个主活动 } }); two_dialog.create().show();//创建并显示对话框 } //选择对话框三个按键 private void dialog4(){ Builder three_dialog = new AlertDialog.Builder(this); //创建对象 three_dialog.setTitle("提示"); //设置标题 three_dialog.setMessage("是否确认退出?"); //设置内容 //builder.setIcon(R.mipmap.ic_launcher);//设置图标,图片id即可 three_dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() { //设置确定按钮 //创建一个"确定"对话框dialog 并实现监听 @Override// public void onClick(DialogInterface dialog, int which) {// dialog.dismiss(); //关闭dialog//// } public void onClick(DialogInterface dialog, int which) { // TODO 自动生成的方法存根 dialog.dismiss();//释放dialog对话框 MainActivity.this.finish();//结束这个主活动 } }); three_dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() { //设置取消按钮 //创建一个"取消"对话框dialog 并实现监听 @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss();//关闭dialog } }); three_dialog.setNeutralButton("忽略", new DialogInterface.OnClickListener() {//设置忽略按钮 //创建一个"忽略"对话框dialog 并实现监听 @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss();//关闭dialog } }); //参数都设置完成,创建并显示出来 three_dialog.create().show(); }}
这个几个按钮的代码有很强的相似度,大家只要理解其中一个或两个即可掌握dialog的简单使用。
下面是部分效果图:
持之以恒,方得始终
阅读全文
0 0
- Android实现对话框控件Dialog
- android 控件 对话框(Dialog)
- Android 基本控件 Dialog 对话框
- Android 控件——利用Dialog实现底部弹出对话框
- Android 控件——利用Dialog实现底部弹出对话框
- android 对话框Dialog大全 实现
- Android-对话框dialog的实现
- android中控件Dialog对话框的使用
- android列表对话框(dialog)的实现
- android的自定义dialog对话框实现
- Android多种方式实现自定义Dialog对话框
- Android多种方式实现自定义Dialog对话框
- Android多种方式实现自定义Dialog对话框
- Android中Dialog实现自定义弹出对话框
- Android之dialog实现底部出现对话框
- Android实现自定义圆角对话框Dialog
- Android UI控件详解-Dialog(对话框合集)
- Android基础控件之-----------对话框Dialog(学习笔记)
- Mybatis反向生成之eclipse工具生成
- node.js开发:node升级
- SQL 数据库的操作(一)
- python 之可变对象与不可变对象
- Linux下共享内存通信实现A进程死循环输出A后被C进程处理输出C
- Android实现对话框控件Dialog
- css解决设置宽度百分比,高度跟宽度相等,防止内部图片抖动
- Android学习心得(25) --- Intent启动方式研究
- 判断对象是否存在
- 实用网站记录
- Spring boot配置freemarker,jsp,velocity模板
- [GNU/Linux] Linux系统调用-文件操作(二)
- 7z命令的坑
- 小波包变换的原理以及在小目标检测上的应用