AlertDialog有以下六种使用方法:

一、简单的AlertDialog(只显示一段简单的信息)

二、带按钮的AlertDialog(显示提示信息,让用户操作)

三、类似ListView的AlertDialog(展示内容)

四、类似RadioButton的AlertDialog(让用户选择,单选)

五、类似CheckBox的AlertDialog(让用户多选)

六、自定义View的AlertDialog(当以上方式满足不了你的需求,就要自定义了)

这里写的就是第六种用法,效果图如下(效果类似与IOS中的MBProgressHUD)

具体实现如下:

.java代码

// 自定义弹出框,框内放入图片,图片设置旋转动画
AlertDialog alert_progress = new AlertDialog.Builder(当前activity.this).create();
alert_progress.show();
alert_progress.setCancelable(false); // 点击背景时对话框不会消失
// alert_progress.dismiss(); // 取消对话框
Window window = alert_progress.getWindow();
window.setContentView(R.layout.alert_dialog_progress_view); //加载自定义的布局文件
WindowManager.LayoutParams wm = window.getAttributes();
wm.width = 250; // 设置对话框的宽
wm.height = 200; // 设置对话框的高
wm.alpha = 0.5f; // 对话框背景透明度
wm.dimAmount = 0.6f; // 遮罩层亮度
window.setAttributes(wm); ImageView img = (ImageView)window.findViewById(R.id.progress_bar); // 获取布局文件中的ImageView控件
img.setBackgroundResource(R.drawable.loading_one); // 设置图片,也可在布局文件中设置 // 设置旋转动画
Animation tranfrom = new RotateAnimation(0,359,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);(359:旋转角度(可自调),若为360会有卡顿,正数为顺势针旋转,负数为逆时针)
tranfrom.setDuration(2000); // 旋转速度
tranfrom.setFillAfter(true);
tranfrom.setRepeatCount(-1); // -1为一只旋转,若10,则旋转10次设定的角度后停止
// tranfrom.cancel(); // 取消动画
img.setAnimation(tranfrom);

布局代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorBlack"> <ImageView
android:id="@+id/progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"/> <TextView
android:text="正在加载..."
android:layout_width="match_parent"
android:layout_height="20dp"
android:textColor="@color/colorWhite"
android:layout_gravity="center"
android:gravity="center"/> </LinearLayout> 附:旋转背景图

												

安卓 自定义AlertDialog对话框(加载提示框)的更多相关文章

  1. IOS开发UI篇之──自定义加载等待框(MBProgressHUD)

    本文转载至 http://blog.csdn.net/xunyn/article/details/8064984   原文地址http://www.189works.com/article-89289 ...

  2. 加载旋转框(loading spinner)

    目标是这样的 用到的组件 AlertDialog 和 ProgressBar 先创建一个 AlertDialog 的布局 <?xml version="1.0" encodi ...

  3. 自定义 Material Design风格的提示框

    关闭 自定义 Material Design风格的提示框 2016-04-24 10:55 152人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 其实在14年谷歌 ...

  4. Ladda – 把加载提示效果集成到按钮中,提升用户体验

    Ladda 是一组集成了加载提示的按钮,以弥合行动和反馈之间的时间间隔,提供更好的功能使用体验.主要用于在用户点击提交之后,向用户提供即时的反馈,让他们知道浏览器正在处用户提交的任务. 您可能感兴趣的 ...

  5. google官方的下拉刷新+自定义上拉加载更多

    转载请标注转载:http://blog.csdn.net/oqihaogongyuan/article/details/50949118 google官方的下拉刷新+自定义上拉加载更多 现在很多app ...

  6. Android 代码库(自定义一套 Dialog通用提示框 )

          做Android开发五年了,期间做做停停(去做后台开发,服务器管理),当回来做Android的时候,发现很生疏,好些控件以前写得很顺手,现在好像忘记些什么了,总要打开这个项目,打开那个项目 ...

  7. jQuery Ajax封装(附带加载提示和请求结果提示模版)

    1.创建HTML文件(demo) <!doctype html> <html lang="en"> <head> <meta charse ...

  8. JVM自定义类加载器加载指定classPath下的所有class及jar

    一.JVM中的类加载器类型 从Java虚拟机的角度讲,只有两种不同的类加载器:启动类加载器和其他类加载器. 1.启动类加载器(Boostrap ClassLoader):这个是由c++实现的,主要负责 ...

  9. 自定义ProgressBar的加载效果

    三种方式实现自定义圆形页面加载中效果的进度条 To get a ProgressBar in the default theme that is to be used on white/light b ...

随机推荐

  1. iOS开发之如何跳到系统设置里的各种设置界面

    跳到更多设置界面 除了跳到WiFi设置界面,能不能跳到其他的设置界面呢?比如:定位服务.FaceTime.音乐等等.都是可以的,一起来看看如何实现的! 定位服务 定位服务有很多APP都有,如果用户关闭 ...

  2. c#_图表之zeGraph

    关于图表控件: http://blog.csdn.net/sgear/article/details/1449025 其中zedGraph的基本方法及属性介绍: http://wenku.baidu. ...

  3. 大数据系列-CDH环境中SOLR入数据

    1       创建集合 SSH远程连接到安装了SOLR的CDH节点. 运行solrctl  instancedir  --generate  /solr/test/GX_SH_TL_TGRYXX_2 ...

  4. Android传递数据5种方法

       Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起.它们各有利弊,有各自的应用场景. 我现在把它们集中到一个例子中展示 ...

  5. weibform中Application、ViewState对象和分页

    Application: 全局公共变量组 存放位置:服务器 特点:所有访问用户都是访问同一个变量,但只要服务器不停机,变量一直存在于服务器的内存中,不要使用循环大量的创建Application对象,可 ...

  6. react native AsyncStorage的使用

    如果现在有一个需求,是要把用户的账号密码保存到本地,大家会怎么做的呢?如果在android中,我相信一大部分人会想到SharedPreferences,这是一个以键值对的形式进行存储的.那如果在rea ...

  7. LOL(英雄联盟)提示不支持虚拟机登录,解决方法

    搜索虚拟系统下的存放文件索 .VMX 会出现带有.VMX 的文件(比如Windows 7.vmx)用记事本打开在最后面回车再加入一行:monitor_control.restrict_backdoor ...

  8. nodejs复习05

    stream 可读流 fs.pause()方法会使处于流动模式的流停止触发data事件,切换到非流动模式并让后续数据流在内部缓冲区 var fs = require('fs') var rs = fs ...

  9. PHP isset() empty() isnull() 的区别

    <? isset - 检测变量是否设置 注意: isset 检测变量是否设置,并且不是 NULL. 若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE: empty ...

  10. 分布式服务协调技术zookeeper笔记

    本文主要学习ZooKeeper的体系结构.节点类型.节点监听.常用命令等基础知识,最后还学习了ZooKeeper的高可用集群的搭建与测试.希望能给想快速掌握ZooKeeper的同学有所帮助. ZooK ...