在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提示对话框的更多相关文章

  1. (转载)Android常用的Dialog对话框用法

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

  2. Android 常用对话框Dialog封装

    Android 6种 常用对话框Dialog封装 包括: 消息对话框.警示(含确认.取消)对话框.单选对话框. 复选对话框.列表对话框.自定义视图(含确认.取消)对话框 分别如下图所示:       ...

  3. android常用对话框封装

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

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

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

  5. android从Dialog对话框中取得文本文字

    android中Dialog对话框获取文本文字,只需要使用editor的getText方法就可以获得,示例如下:final EditText et = new EditText(this); et.s ...

  6. Android中Dialog对话框

    布局文件xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...

  7. Android自定义 Dialog 对话框

    Android自定义Dialoghttp://www.cnblogs.com/and_he/archive/2011/09/16/2178716.html Android使用自定义AlertDialo ...

  8. android常用的四种对话框java代码

    AlterDialog:确认取消警告提示框 public void showAlertDialog(View view){ AlertDialog.Builder dialog = new Alert ...

  9. Android中Dialog

    在Android中,Dialog是一个非常重要的UI, 它可以方便的给用户提示,用最简洁的方式向用户展示信息, 以下的图片是Dialog的一个整体架构,通过它,可以总体对Dialog有一个很清晰的认识 ...

随机推荐

  1. What is the reason that a likelihood function is not a pdf?

    From: http://stats.stackexchange.com/questions/31238/what-is-the-reason-that-a-likelihood-function-i ...

  2. C#监听锁屏代码

    今天,偶然间在技术群看有人问,怎么监听锁屏. 在此处记录一下 public class Constrctor { public Constrctor() { SystemEvents.SessionS ...

  3. 深入理解javascript原型链

    在javascript中原型和原型链是一个很神奇的东西,对于大多数人也是最难理解的一部分,掌握原型和原型链的本质是javascript进阶的重要一环.今天我分享一下我对javascript原型和原型链 ...

  4. C 数据类型 常量 变量

    一 数据类型 1. 什么是数据 生活中时时刻刻都在跟数据打交道 比如体重数据 血压数据 股价数据等 在我们使用计算机的过程中 会接触到各种各样的数据 有文档数据 图片数据 视频数据 还有聊QQ时产生的 ...

  5. 前端开发工程师 - 01.页面制作 - 第4章.CSS

    第4章.CSS CSS简介 Cascading Style Sheet 层叠样式表:定义页面中的表现样式 history: CSS1(1996)--CSS2(1998)--着手CSS3草案(拆分成很多 ...

  6. JavaWeb--------JSP语法基础学习(特别适合入门)

    准备工作: 需要Tomcat8.0,MyEclipse,JDK JSP是一种运行在服务器端的脚本语言,JSP页面又是基于HTML网页的程序,它是Java Web 开发技术的基础. 基本内容: JSP页 ...

  7. 【outPut_Class 输出类】使用说明

    对象:outPut 说明:定义输出结果类的相关操作.此对象的核心是[JSON]类,所以它继承了[JSON]类的所有方法 重要: 输出结果样式为XML时,自带根节点"root".输出 ...

  8. Github协作图想

    首先 git pull 从远程拉下代码,并在本地与本地代码自动合并 在本地解决冲突后,可将本地代码进行远程推送 版本库的Repository中存储的是版本树状链,每一根链接线代表每一次的修改,每一个节 ...

  9. C++ ifndef /define/ endif 作用和用法

    ifndef/define/endif”主要目的是防止头文件的重复包含和编译 比如你有两个C文件,这两个C文件都include了同一个头文件.而编译时,这两个C文件要一同编译成一个可运行文件,于是问题 ...

  10. [leetcode-779-K-th Symbol in Grammar]

    On the first row, we write a 0. Now in every subsequent row, we look at the previous row and replace ...