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. 微信小程序跳转以及跳转的坑

    一.首先小程序的跳转方法有一下几种 js控制跳转 // 保留当前页面,跳转到应用内的某个页面 wx.navigateTo({ url: '../blueberry/blueberry' }); // ...

  2. datawhale爬虫实训4

    DataWhale-Task4(爬取丁香园2) 任务:使用lxml爬虫帖子相关的回复与部分用户信息(用户名,头像地址,回复详情) 难点:需要登录才能看到所有回复 浏览器登录上去,查看cookies信息 ...

  3. Codeforces 892C/D

    C. Pride 传送门:http://codeforces.com/contest/892/problem/C 本题是一个关于序列的数学问题——最大公约数(GCD). 对于一个长度为n的序列A={a ...

  4. VirtualBox虚拟机下 解决centos系统无法上网的问题

    首先,在VirtualBox中设置网卡连接方式:点“设置”,在弹出的界面中点“网络”,最后选择“连接方式”为“桥接网卡”或者网都可以络地址转换  这两种我试了试都可以 接下来修改一个文件就行: 1.打 ...

  5. 生成PW配置和BFD配置

    保存在配置文件中 def Main(): buf = '' f = open('pw.cfg','w') for i in range(2016): pwid = str(102 + i) buf + ...

  6. poj 2186 强连通+缩点

    题意:有一群牛,求被所有牛都认可的牛的个数 每个连通分量建一个缩点,出度为零的缩点包含的点的个数即为要求值 如果有多个出度为零的,直接输出零,否则输出那唯一一个出度为零的缩点包含的点的个数 #incl ...

  7. elasticsearch6.4中文文档

    男朋友翻译的,我这边做一个查看入口,分享给大家,O(∩_∩)O哈哈~ 版权声明:本文为博主原创文章,无需授权即可转载,甚至无需保留以上版权声明,转载时请务必注明作者. https://blog.csd ...

  8. spring5.0新特性

    spring5.0新特性 学习了:http://blog.csdn.net/u012562943/article/details/77449666 https://www.cnblogs.com/xu ...

  9. [Javascript] Understand common misconceptions about ES6's const keyword

    Values assigned with let and const are seen everywhere in JavaScript. It's become common to hear the ...

  10. [Javascript] IntersectionObserver -- Lazy Load Images on a Website

    When it comes to websites performance is king. How long it takes for a page to load can mean the dif ...