Android 常用dialog提示对话框
在android应用程序中,经常需要用到dialog对话框让用户知道现在所在进行的操作(比如耗时的操作),或者提示某些信息和状态等,算是比较常用的一个知识点;
1、简单对话框
protected void dialog1(AlertDialog.Builder builder) {
builder.setTitle("标题");
builder.setPositiveButton("确定", null);
builder.setIcon(R.drawable.ic_launcher);
builder.setMessage("简单消息框");
builder.show();
}

2、带自定义内容对话框
protected void study2(AlertDialog.Builder builder) {
builder.setTitle("标题");
builder.setView(new EditText(this));
builder.setPositiveButton("确定", null);
builder.setIcon(android.R.drawable.ic_dialog_info);
builder.setMessage("简单消息框");
builder.show();
}

3、带单选按钮对话框
protected void study3(AlertDialog.Builder builder) {
builder.setTitle("请选择")
.setIcon(android.R.drawable.ic_dialog_info)
.setSingleChoiceItems(
new String[] { "item1", "item2", "item3", "item4" }, 0,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
Log.e("选择", "" + which);
dialog.dismiss();
}
}).setNegativeButton("取消", null).show();
}

在选择了某一项之后,onClick回调事件会把选择的项的索引返回给用户;
4、带多选组合框对话框
protected void study4(AlertDialog.Builder builder) {
builder.setTitle("请选择")
.setIcon(android.R.drawable.ic_dialog_info)
.setMultiChoiceItems(
new String[] { "item1", "item2", "item3", "item4" },
new boolean[] { true, true, false, true },
new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which, boolean isChecked) {
ListView lv = ((AlertDialog) dialog).getListView();
Log.e("项" + which, "选择" + lv.getCheckedItemPositions().get(which));
}
}).setNegativeButton("取消", null).show();
}
在多选对话框中,选择了某一项并不会导致对话框隐藏,同样android也通过回调接口返回用户所选择的项;

5、进度条对话框
public void study5() {
ProgressDialog dialog = new ProgressDialog(MainActivity.this);
dialog.setCancelable(true);
dialog.setMessage("加载中...");
// dialog.setTitle("进度条框窗口");
// dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
// dialog.setMax(100);
dialog.show();
}

6、除了上述的添加用户界面友好提示的方法,还可以通过WindowManager添加一个View到界面上向用户反馈信息,此种方法也更灵活
protected void study6() {
ViewGroup vg = (ViewGroup) getLayoutInflater().inflate(R.layout.dia,null);
pb = (ProgressBar) vg.findViewById(R.id.pb);
vg.removeAllViews();
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(160,
160, WindowManager.LayoutParams.TYPE_APPLICATION,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
WindowManager windowManager = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
windowManager.addView(pb, lp);
}
重要的步骤即是从lp开始,设置LayoutParams参数,然后添加到窗口;

7.使用Window将view添加到window上
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
AlertDialog dialog = builder.show();
Window window = dialog.getWindow();
window.setContentView(R.layout.dialoglayout);
8.使用style来设置样式
<!-- 自定义Dialog -->
<style name="MyDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
//
Dialog dialog1 = new Dialog(getActivity(), R.style.MyDialog);
dialog1.setContentView(R.layout.dialoglayout);
dialog1.show();
Android 常用dialog提示对话框的更多相关文章
- (转载)Android常用的Dialog对话框用法
Android常用的Dialog对话框用法 Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的 ...
- Android 常用对话框Dialog封装
Android 6种 常用对话框Dialog封装 包括: 消息对话框.警示(含确认.取消)对话框.单选对话框. 复选对话框.列表对话框.自定义视图(含确认.取消)对话框 分别如下图所示: ...
- android常用对话框封装
在android开发中,经常会用到对话框跟用户进行交互,方便用户可操作性:接下来就对常用对话框进行简单封装,避免在项目中出现冗余代码,加重后期项目的维护量:代码如有问题欢迎大家拍砖指正一起进步. 先贴 ...
- 【转】 Android常用实例—Alert Dialog的使用
Android常用实例—Alert Dialog的使用 AlertDialog的使用很普遍,在应用中当你想要用户做出“是”或“否”或者其它各式各样的选择时,为了保持在同样的Activity和不改变用户 ...
- android从Dialog对话框中取得文本文字
android中Dialog对话框获取文本文字,只需要使用editor的getText方法就可以获得,示例如下:final EditText et = new EditText(this); et.s ...
- Android中Dialog对话框
布局文件xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...
- Android自定义 Dialog 对话框
Android自定义Dialoghttp://www.cnblogs.com/and_he/archive/2011/09/16/2178716.html Android使用自定义AlertDialo ...
- android常用的四种对话框java代码
AlterDialog:确认取消警告提示框 public void showAlertDialog(View view){ AlertDialog.Builder dialog = new Alert ...
- Android中Dialog
在Android中,Dialog是一个非常重要的UI, 它可以方便的给用户提示,用最简洁的方式向用户展示信息, 以下的图片是Dialog的一个整体架构,通过它,可以总体对Dialog有一个很清晰的认识 ...
随机推荐
- cakephp2.x 一个ajax例子.md
CakePHP中的ajax还是比较简单,但要注意一些细节. app/View/Layouts下新建ajaxtest.ctp <!DOCTYPE html PUBLIC "-//W3C/ ...
- Android远程推送笔记
Android远程推送笔记 Android推送有很多种实现方案,但都没办法和苹果的APNS比拟,这里主要来讲述一下我遇到的问题,和作出的抉择. 首先,为了快速接入,所以就没有自己搭建推送服务器,而是使 ...
- Linux命令应用大词典-第46章 其他命令
46.1 mkfontdir:创建X字体文件的索引 46.2 dumpiso:转储IEEE 1394同步信道的数据包 46.3 iconv:转换文件编码 46.4 hash:显示和删除哈希表 46.5 ...
- UE4蓝图小记
http://www.element3ds.com/forum.php?mod=viewthread&tid=76930&page=1&authorid=104414 http ...
- Unity编辑器 - Undo的坑
Unity编辑器 - Undo的坑 编辑器通过脚本中改变值,Undo.RecordObject可能会无效,应该使用: Undo.RegisterCompleteObjectUndo(Object ob ...
- 初涉 JavaScript
网页是什么 网页 = Html+CSS+JavaScriptHtml:网页元素内容CSS:控制网页样式JavaScript:操作网页内容,实现功能或者效果 JavaScirpt 发展历史 参考 使用 ...
- Quartz定时器原理与使用
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是一个完全由java编写的开源作业调度框架. Quartz可以用来创建简单或为运行十个,百个,甚至是好几 ...
- Java进阶知识点:不要只会写synchronized - JDK十大并发编程组件总结
一.背景 提到Java中的并发编程,首先想到的便是使用synchronized代码块,保证代码块在并发环境下有序执行,从而避免冲突.如果涉及多线程间通信,可以再在synchronized代码块中使用w ...
- docker容器学习笔记
docker是通过内核虚拟化技术来提供容器的资源隔离与安全保障. docker组成: docker client.docker server.docker组件(镜像(image).容器(contain ...
- 一道java笔试题
输入一串用空格隔开的数字串,对于数字串的奇数位按升序排序,偶数位按降序排序. 示例输入: 4 6 2 3 6 7 8 1 处理过程: 奇数位:4 2 6 8 升序排序结果: 2 4 6 8 偶数位:6 ...