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);}@Overridepublic void setTitle(CharSequence title) {super.setTitle(title);}@Overridepublic void setCancelable(boolean flag) {super.setCancelable(flag);}@Overridepublic 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" --><ProgressBarandroid: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" /><TextViewandroid: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><rotateandroid: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 ...
随机推荐
- BAT清理垃圾
@echo off title ϵͳȥm del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q ...
- 手把手教你使用python复杂一点点的装饰器
#只要@deco后面跟括号,都要 先传装饰器参数,返回 再传目标待装饰函数,返回 传目标函数的参数 #这个参数可以是类 def deco(arg):#装饰器的函数在这里传 print('0',arg) ...
- Unity扩展编辑器--类型1:Editor Windows
Extending the Editor Unity允许你使用自己定制的inspectors和Editor Windows扩展编辑器,并且你可以使用定制的Property Drawers定义属性集在i ...
- mongodb教程二
MongoDB 创建数据库: MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 如果你想查看所有数据库,可以使用 ...
- 手机控制电脑,在WIFI局域网下(关机,重启,遥控)
这个软件叫百变遥控:http://blog.sina.com.cn/s/blog_9abc7dbc0101hmut.html 今天周末,在家里看电影,家里用的是台式电脑,我自己买了一个投影仪来专门看视 ...
- FLASK初步实践
感觉经过DJANGO,CI,RAILS之类的WEB框架之后,FLASK的思路就比较顺畅了... FLASKR.PY import sqlite3 from flask import Flask, re ...
- UMHexagonS搜索过程
通过相邻块的预测得到mvp后,会以mvp为基础搜索最佳的匹配块,UMHexagonS就是h.264中用的一种搜索算法. UMHexagonS是一种整像素搜索算法,也就是搜索过程中,参考图像一直都是原来 ...
- C++ 常用的字符串处理函数实现
以下是一些标准库没有实现的函数,我觉得很方便就写了,估计会不定时更新. //根据一个文件的路径获取文件名 std::string file_name(const std::string& pa ...
- POJ1125 Stockbroker Grapevine(最短路)
题目链接. 分析: 手感不错,1A. 直接穷举的起点, 求出不同起点到其它点最短路中最长的一条的最小值(好绕). #include <iostream> #include <cstd ...
- C#之VS2010开发Web Service
一:创建web service vs2010软件默认的framework是4.0版本,所以想创建web服务的时候压根看不到web服务应用程序.网上有人说vs2010的web service 跟wcf合 ...

