Android常用的Dialog对话框用法
Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4,
V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的是V7 包里的AlertDialog。
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.SystemClock;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} /**
* 普通对话框
*
* @param view
*/
public void click1(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置标题
builder.setTitle("用户安全提示:");
//设置提示消息
builder.setMessage("你确定接受用户隐私条款吗?");
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null);
//显示dialog
builder.show();
} /**
* 单选对话框
*
* @param view
*/
public void click2(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置标题
builder.setTitle("选择一项你的专业:");
//设置要显示的item条目
final String items[] = {"Java", "C++", "PHP", "Android", "C#", "Python", "MySql"};
//设置item点击事件
builder.setSingleChoiceItems(items, -, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "你选择了:" + items[which], Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
//显示dialog
builder.show();
} /**
* 多选对话框
*
* @param view
*/
public void click3(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置标题
builder.setTitle("选择你的兴趣爱好:");
//设置要显示的item条目
final String items[] = {"看书", "玩游戏", "看电影", "打球", "健身", "自驾游", "去酒吧"};
//设置每个条目的选择状态 false为没有选中 true为选中
final boolean[] checks = {true, true, false, false, false, false, false};
//设置item点击事件 条目被选中时 修改checks里的boolean值
builder.setMultiChoiceItems(items, checks, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
checks[which] = isChecked;
}
});
//设置确定按钮点击事件
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuffer buffer = new StringBuffer();
for (int i = ; i < checks.length; i++) {
if (checks[i]) {
buffer.append(items[i] + ",");
}
}
Toast.makeText(MainActivity.this, buffer.toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", null);
//显示dialog
builder.show();
} /**
* 进度条对话框
*
* @param view
*/
public void click4(View view) {
final ProgressDialog dialog = new ProgressDialog(this);
dialog.setTitle("请稍等:");
//dialog.setMessage("正在努力加载...");
//dialog.show(); //以下的属性不设置 进度条样式默认为圆形 //设置进度最大值为100
dialog.setMax();
//设置进度条样式为水平
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dialog.show();
//模拟一个进度加载过程
new Thread() {
@Override
public void run() {
for (int i = ; i <= ; i++) {
dialog.setProgress(i);
//休眠200毫秒
SystemClock.sleep();
}
dialog.dismiss();
}
}.start();
}
}
Android常用的Dialog对话框用法的更多相关文章
- (转载)Android常用的Dialog对话框用法
Android常用的Dialog对话框用法 Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的 ...
- Android UI系列-----Dialog对话框
您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...
- Android Activity作为dialog对话框的使用详细介绍
Activity做为Android应用层四大组件的重要组成部分,它的灵活性.可扩性无论是在应用还是游戏方面都得到了广泛应用,本文主要介绍Activity作为dialog对话框 的使用方法进行说明. 本 ...
- Android中九种dialog对话框代码
public class MainActivity extends Activity { private static final int MAX_PROGRESS = 100; private st ...
- Android常用开发工具的用法
1.在命令行创建.删除和浏览AVD 在命令行下管理AVD需要借助于android命令(位于Android SDK安装目录的tools子目录下),如果直接执行android子命令将会启动Android ...
- Android 常用dialog提示对话框
在android应用程序中,经常需要用到dialog对话框让用户知道现在所在进行的操作(比如耗时的操作),或者提示某些信息和状态等,算是比较常用的一个知识点: 1.简单对话框 protected vo ...
- 【转】 Android常用实例—Alert Dialog的使用
Android常用实例—Alert Dialog的使用 AlertDialog的使用很普遍,在应用中当你想要用户做出“是”或“否”或者其它各式各样的选择时,为了保持在同样的Activity和不改变用户 ...
- android常用对话框封装
在android开发中,经常会用到对话框跟用户进行交互,方便用户可操作性:接下来就对常用对话框进行简单封装,避免在项目中出现冗余代码,加重后期项目的维护量:代码如有问题欢迎大家拍砖指正一起进步. 先贴 ...
- Android之UI--打造12种Dialog对话框
最近有空,来把app中常用到的Dialog对话框写一篇博客,在app中很多地方都会用到Dialog对话框,今天小编我就给大家介绍Dialog对话框. 先看看效果图: 12种,可根据需求选择,上图可知, ...
随机推荐
- Leetcode 93.复制IP地址
复制IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135& ...
- PhantomJS & headless browser & pdf
PhantomJS http://phantomjs.org/ https://github.com/Medium/phantomjs https://github.com/Medium/phanto ...
- 关于使用CELERY的一点心得
使用也有大半年了.稳定性没话说啊. 但有一个坑,是我以前没注意的,记录下来. 就是本来一个任务是可以异步并行执行的..但如何需要CELERY的执行结果来作判断的话,就会变得异步串行的. 这要值得注意. ...
- NOIP2011 提高组合集
NOIP 2011 提高组合集 D1 T1 铺地毯 模拟,题目让你干啥你就干啥 #include <iostream> #include <cstdio> using name ...
- 洛谷—— P1657 选书
https://www.luogu.org/problem/show?pid=1657 题目描述 学校放寒假时,信息学奥赛辅导老师有1,2,3……x本书,要分给参加培训的x个人,每人只能选一本书,但是 ...
- ZOJ——3609 Modular Inverse
Modular Inverse Time Limit: 2 Seconds Memory Limit: 65536 KB The modular modular multiplicative ...
- bzoj1072【SCOI2007】排列perm
1072: [SCOI2007]排列perm Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1479 Solved: 928 [id=1072&q ...
- 使用jconsole监控远程JVM
使用jconsole监控远程JVM 学习了:https://www.linuxidc.com/Linux/2015-02/113420.htm https://www.cnblogs.com/thin ...
- 违章查询免费api接口代码
能够依据城市+车牌号+发动机号查询违章信息列表. 违章实体类 package org.wx.xhelper.model; /** * 违章实体类 * @author wangxw * @version ...
- C++对象模型——Template中的名称决议方式 (第七章)
Template中的名称决议方式 (Name Resolution within a Template) 必须可以区分下面两种意义,一种是C++ Standard所谓的"sope of th ...