95秀-dialog 进度对话框 实用工具
工具Util
public class DialogUtil { public static ProgressDialogView progressDialog; /** * 显示对话框的方法,String类型 * @param context 句柄 * @param title 标题 * @param message 内容 * @param view 视图 * @param positive 左边的按钮文字 * @param neutral 中间的按钮文字 * @param negative 右边的按钮文字 * @param positiveListener 左边按钮的监听器 * @param neutralListener 中间按钮的监听器 * @param negativeListener 右边按钮的监听器 */ public static void showDialog(Context context, String title, String message, View view, String positive, String neutral, String negative, OnClickListener positiveListener, OnClickListener neutralListener, OnClickListener negativeListener) { new AlertDialog.Builder(context).setTitle(title).setMessage(message).setView(view) .setPositiveButton(positive, positiveListener).setNeutralButton(neutral, neutralListener) .setNegativeButton(negative, negativeListener).create().show(); } /** * 显示简单的带进度条对话框 * @param context 句柄 * @param title 标题 * @param message 内容 * @param cancelable 是否可以取消 */ public static void showProgressDialog(Context context, String title, String message, boolean cancelable, OnCancelListener cancelListener) { dismissProgressDialog(); progressDialog = new ProgressDialogView(context); progressDialog.setTitle(title); progressDialog.setMessage(message); progressDialog.setCancelable(cancelable); progressDialog.setOnCancelListener(cancelListener); progressDialog.show(); } /** * 取消带进度条的对话框 */ public static void dismissProgressDialog() { if (progressDialog != null && progressDialog.isShowing()) { try { progressDialog.dismiss(); } catch (IllegalArgumentException e) { } } progressDialog = null; } }
View
public class ProgressDialogView extends Dialog { private ProgressBar pgb_progress; private TextView tv_messag; public ProgressDialogView(Context context) { super(context, R.style.DialogTheme); initView(); } public ProgressDialogView(Context context, int theme) { super(context, theme); initView(); } private void initView() { setContentView(R.layout.progress_dialog); pgb_progress = (ProgressBar) findViewById(R.id.pgb_progress); tv_messag = (TextView) findViewById(R.id.tv_messag); } @Override public void setTitle(CharSequence title) { super.setTitle(title); } @Override public void setCancelable(boolean flag) { super.setCancelable(flag); } @Override public void setOnCancelListener(OnCancelListener listener) { super.setOnCancelListener(listener); } public void setMessage(String string) { tv_messag.setVisibility(View.VISIBLE); tv_messag.setText(string); }}
布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="120dp" android:layout_height="120dp" android:background="@drawable/bg_progress_dialog" android:orientation="vertical" > <!-- android:background="@drawable/bg_progress_dialog" --> <ProgressBar android:id="@+id/pgb_progress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="18dp" android:indeterminateDrawable="@drawable/progress_white" /> <TextView android:id="@+id/tv_messag" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/pgb_progress" android:layout_centerInParent="true" android:layout_marginTop="5dp" android:ellipsize="end" android:singleLine="true" android:text="显示信息" android:textColor="@color/white" android:textSize="18sp" android:visibility="gone" /></RelativeLayout>
灰色背景 bg_progress_dialog
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item><shape> <solid android:color="#66000000" /> <corners android:radius="3dp" /> <padding android:bottom="6dp" android:left="3dp" android:right="3dp" android:top="6dp" /> </shape></item></selector>
圆形进度条 progress_white <?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <rotate android:drawable="@drawable/progress_white_icon" android:fromDegrees="0.0" android:pivotX="50.0%" android:pivotY="50.0%" android:toDegrees="360.0" /> </item></layer-list>
95秀-dialog 进度对话框 实用工具的更多相关文章
- 95秀-自定义对话框 dialog 合集
普通的确认对话框 NormalDialog.java import android.app.Dialog; import android.content.Context; import android ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- Bootstrap<基础十> 响应式实用工具
Bootstrap 提供了一些辅助类,以便更快地实现对移动设备友好的开发.这些可以通过媒体查询结合大型.小型和中型设备,实现内容对设备的显示和隐藏. 需要谨慎使用这些工具,避免在同一个站点创建完全不同 ...
- 10.Android之ProgressDialog进度对话框学习
APP应用中经常会下载某些东西,这里面有涉及到进度对话框,今天来学习下. 首先,布局里放进两个按钮,点击一个显示条形进度条,另一个显示圆形进度条.代码如下: <?xml version=&quo ...
- Android Dialog(对话框)
一个对话框一般是一个出现在当前Activity之上的一个小窗口. 处于下面的Activity失去焦点, 对话框接受所有的用户交互. 对话框一般用于提示信息和与当前应用程序直接相关的小功能. Andro ...
- Android学习笔记(九)——更复杂的进度对话框
显示操作进度的对话框 1.使用上一篇创建的同一项目.在activity_main.xml文件里加入一个Button: <Button android:id="@+id/btn_dial ...
- 每位iOS开发人员不容错过的10大实用工具
内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...
- Android学习笔记(八)——显示运行进度对话框
显示运行进度对话框 我们经常有这种经历:运行某一应用程序时.须要等待一会,这时会显示一个进度(Please Wait)对话框,让用户知道操作正在进行. 我们继续在上一篇中的程序中加入代码~ 1.在上一 ...
- JavaScript和CSS实用工具、库与资源
JavaScript和CSS实用工具.库与资源 JavaScript 库 Particles.js - 一个用于在网页上创建漂亮的浮动粒子的 JS 库: Three.js - 用于在网页上创建 3 ...
随机推荐
- Log4j实现对Java日志的配置全攻略
1. 配置文件 Log4J配置文件的基本格式如下: #配置根Logger log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , ...
- Redis学习 - 入门
业精于勤,荒于嬉:行成于思,毁于随 -- 韩愈·<进学解> 因为工作中需要用到Redis,所以最近抽点时间看了一下,现在将学习的内容整理一下. 一.简介 1.Redis是什么? R ...
- C#.net 货币格式转换
/// <summary> /// 输入Float格式数字,将其转换为货币表达方式 /// </summary> /// <param name="ftype& ...
- thinkphp框架之模型(数据库查询)
1. 模型定义 文件名称必须是 表名+Model.class.php 例如:UserModel.class.php namespace Home\Model; //该模型类的命名空间 use Thin ...
- jquery cookies(2)用法实现
example $.cookie('name', ‘value'); 设置cookie的值,把name变量的值设为value example $.cookie('name', ‘value', {ex ...
- Python hashlib模块 (主要记录md5加密)
python提供了一个进行hash加密的模块:hashlib 下面主要记录下其中的md5加密方式(sha1加密一样把MD5换成sha1) >>> import hashlib > ...
- .net发邮件
// 引入命名空间 using System.Net; using System.Net.Mail; SmtpClient smtp = new SmtpClient(); //实例化一个SmtpCl ...
- Swift互用性:与 C的API交互(Swift 2.0版)-b
节包含内容: 基本数据类型(Primitive Types) 枚举(Enumerations) 指针(Pointer) 全局常量(Global Constants) 预处理指令(Preprocesso ...
- MATLAB文件操作及读txt文件
转自:http://blog.csdn.net/vblittleboy/article/details/8049748 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件.MA ...
- Keil uVISION2 自学教程
Keil uVISION2 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的 MCS-51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持.PLM.汇编和 C 语言的程序设计, ...