Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4,

V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的是V7 包里的AlertDialog。

  1 import android.app.ProgressDialog;
2 import android.content.DialogInterface;
3 import android.os.Bundle;
4 import android.os.SystemClock;
5 import android.support.v7.app.AlertDialog;
6 import android.support.v7.app.AppCompatActivity;
7 import android.view.View;
8 import android.widget.Toast;
9
10 public class MainActivity extends AppCompatActivity {
11
12 @Override
13 protected void onCreate(Bundle savedInstanceState) {
14 super.onCreate(savedInstanceState);
15 setContentView(R.layout.activity_main);
16 }
17
18 /**
19 * 普通对话框
20 *
21 * @param view
22 */
23 public void click1(View view) {
24 AlertDialog.Builder builder = new AlertDialog.Builder(this);
25 //设置标题
26 builder.setTitle("用户安全提示:");
27 //设置提示消息
28 builder.setMessage("你确定接受用户隐私条款吗?");
29 builder.setPositiveButton("确定", null);
30 builder.setNegativeButton("取消", null);
31 //显示dialog
32 builder.show();
33 }
34
35 /**
36 * 单选对话框
37 *
38 * @param view
39 */
40 public void click2(View view) {
41 AlertDialog.Builder builder = new AlertDialog.Builder(this);
42 //设置标题
43 builder.setTitle("选择一项你的专业:");
44 //设置要显示的item条目
45 final String items[] = {"Java", "C++", "PHP", "Android", "C#", "Python", "MySql"};
46 //设置item点击事件
47 builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
48 @Override
49 public void onClick(DialogInterface dialog, int which) {
50 Toast.makeText(MainActivity.this, "你选择了:" + items[which], Toast.LENGTH_SHORT).show();
51 dialog.dismiss();
52 }
53 });
54 //显示dialog
55 builder.show();
56 }
57
58 /**
59 * 多选对话框
60 *
61 * @param view
62 */
63 public void click3(View view) {
64 AlertDialog.Builder builder = new AlertDialog.Builder(this);
65 //设置标题
66 builder.setTitle("选择你的兴趣爱好:");
67 //设置要显示的item条目
68 final String items[] = {"看书", "玩游戏", "看电影", "打球", "健身", "自驾游", "去酒吧"};
69 //设置每个条目的选择状态 false为没有选中 true为选中
70 final boolean[] checks = {true, true, false, false, false, false, false};
71 //设置item点击事件 条目被选中时 修改checks里的boolean值
72 builder.setMultiChoiceItems(items, checks, new DialogInterface.OnMultiChoiceClickListener() {
73 @Override
74 public void onClick(DialogInterface dialog, int which, boolean isChecked) {
75 checks[which] = isChecked;
76 }
77 });
78 //设置确定按钮点击事件
79 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
80 @Override
81 public void onClick(DialogInterface dialog, int which) {
82 StringBuffer buffer = new StringBuffer();
83 for (int i = 0; i < checks.length; i++) {
84 if (checks[i]) {
85 buffer.append(items[i] + ",");
86 }
87 }
88 Toast.makeText(MainActivity.this, buffer.toString(), Toast.LENGTH_SHORT).show();
89 }
90 });
91 builder.setNegativeButton("取消", null);
92 //显示dialog
93 builder.show();
94 }
95
96 /**
97 * 进度条对话框
98 *
99 * @param view
100 */
101 public void click4(View view) {
102 final ProgressDialog dialog = new ProgressDialog(this);
103 dialog.setTitle("请稍等:");
104 //dialog.setMessage("正在努力加载...");
105 //dialog.show();
106
107 //以下的属性不设置 进度条样式默认为圆形
108
109 //设置进度最大值为100
110 dialog.setMax(100);
111 //设置进度条样式为水平
112 dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
113
114 dialog.show();
115 //模拟一个进度加载过程
116 new Thread() {
117 @Override
118 public void run() {
119 for (int i = 0; i <= 100; i++) {
120 dialog.setProgress(i);
121 //休眠200毫秒
122 SystemClock.sleep(200);
123 }
124 dialog.dismiss();
125 }
126 }.start();
127 }
128 }

 
分类: Android控件
 
好文要顶 关注我 收藏该文  
0
0
 
 
 

(转载)Android常用的Dialog对话框用法的更多相关文章

  1. Android常用的Dialog对话框用法

    Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的是V7 包里的AlertDialog. im ...

  2. Android UI系列-----Dialog对话框

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  3. Android Activity作为dialog对话框的使用详细介绍

    Activity做为Android应用层四大组件的重要组成部分,它的灵活性.可扩性无论是在应用还是游戏方面都得到了广泛应用,本文主要介绍Activity作为dialog对话框 的使用方法进行说明. 本 ...

  4. [转载]android常用的API接口调用

    原文地址:android常用的API接口调用作者:宋耀 显示网页:         Uri uri = Uri.parse("http://www.google.com"); In ...

  5. Android中九种dialog对话框代码

    public class MainActivity extends Activity { private static final int MAX_PROGRESS = 100; private st ...

  6. Android常用开发工具的用法

    1.在命令行创建.删除和浏览AVD 在命令行下管理AVD需要借助于android命令(位于Android SDK安装目录的tools子目录下),如果直接执行android子命令将会启动Android ...

  7. Android 常用dialog提示对话框

    在android应用程序中,经常需要用到dialog对话框让用户知道现在所在进行的操作(比如耗时的操作),或者提示某些信息和状态等,算是比较常用的一个知识点: 1.简单对话框 protected vo ...

  8. 【转】 Android常用实例—Alert Dialog的使用

    Android常用实例—Alert Dialog的使用 AlertDialog的使用很普遍,在应用中当你想要用户做出“是”或“否”或者其它各式各样的选择时,为了保持在同样的Activity和不改变用户 ...

  9. android常用对话框封装

    在android开发中,经常会用到对话框跟用户进行交互,方便用户可操作性:接下来就对常用对话框进行简单封装,避免在项目中出现冗余代码,加重后期项目的维护量:代码如有问题欢迎大家拍砖指正一起进步. 先贴 ...

随机推荐

  1. JavaScript、Dom和jQuery

    var obj=document.getElementById('t1') obj.innerText obj.innerHTML 1.javascript 插入代码如下: <script ty ...

  2. swift-UITextfield控件的基本属性设置

    //1.初始化UITextField let userName=UITextField(frame: CGRectMake(0, 100, 100, 100)); //2.将文本框userName添加 ...

  3. Git 基础教程 之 Git 安装 (windows)

    一,安装Git,访问下面网址进行下载 https://www.git-scm.com/download/ 或者 https://pan.baidu.com/s/19imFBVHA2Yibmw1dyza ...

  4. 3. IDEA 的样式设置和快捷键设置

    一.样式设置 首先打开IDEA之后,点击任务栏的“File”→Settings 二.设置快捷键 1.首先打开IDEA之后,点击任务栏的“File”. 2.在下拉列表中中选择“Settings” 3.在 ...

  5. PHP学习总结(13)——PHP入门篇之常量

    1.什么是常量 什么是常量?常量可以理解为值不变的量(如圆周率):或者是常量值被定义后,在脚本的其他任何地方都不可以被改变.PHP中的常量分为自定义常量和系统常量(后续小节会详细介绍). 自定义常量是 ...

  6. Redis Hash 的 HSET、HGET、HMSET、HMGET 性能测试

    [压测环境] 操作系统: Ubuntu 14.04 LTS Linux版本: 3.13.0-24-generic x86_64 GNU/Linux 处理器: 4核的 AMD Athlon(tm) II ...

  7. ElasticSearch中profile API的使用

    1. 前言 profile API 是 Elasticsearch 5.x 的一个新接口.通过这个功能,可以看到一个搜索聚合请求,是如何拆分成底层的 Lucene 请求,并且显示每部分的耗时情况. 2 ...

  8. Set Time, Date Timezone in Linux from Command Line or Gnome | Use ntp

    https://www.garron.me/en/linux/set-time-date-timezone-ntp-linux-shell-gnome-command-line.html Set ti ...

  9. print puts p 用法

    print puts p 用法 print "a\n" puts "a" p "a\n" 输出为 a a "a\n" p ...

  10. Cloud Foundry中DEA与warden通信完毕应用port监听

    在Cloud Foundry v2版本号中,DEA为一个用户应用执行的控制模块,而应用的真正执行都是依附于warden. 更详细的来说,是DEA接收到Cloud Controller的请求:DEA发送 ...