Android辅助服务监听dialog,Android开发中对话框辅助类——DialogHelper
写在前面: 对话框在平时的开发工作中使用率很频繁,但是很多开发者每次使用都去写一堆代码,如此,不单单效率不高,而且代码也不优...为此,写了简单的封装。
效果如:
关键类DialogHelper.java
public class DialogHelper {
/***
* 获取一个dialog对象,进行相关操作
*
* @param context
* @return
*/
public static AlertDialog.Builder getDialog(Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
return builder;
}
/***
* 获取一个进度对话框(耗时操作使用)
*
* @param context
* @param message
* @return
*/
public static ProgressDialog getWaitDialog(Context context, String message) {
ProgressDialog waitDialog = new ProgressDialog(context);
if (!TextUtils.isEmpty(message)) {
waitDialog.setMessage(message);
}
return waitDialog;
}
public static AlertDialog.Builder getMessageDialog(Context context, String message, DialogInterface.OnClickListener onClickListener) {
AlertDialog.Builder builder = getDialog(context);
builder.setMessage(message);
builder.setPositiveButton("确定", onClickListener);
return builder;
}
/**
* 获取一个信息对话框
*
* @param context
* @param message
* @return
*/
public static AlertDialog.Builder getMessageDialog(Context context, String message) {
return getMessageDialog(context, message, null);
}
public static AlertDialog.Builder getSelectDialog(Context context, String title, String[] arrays, DialogInterface.OnClickListener onClickListener) {
AlertDialog.Builder builder = getDialog(context);
builder.setItems(arrays, onClickListener);
if (!TextUtils.isEmpty(title)) {
builder.setTitle(title);
}
builder.setPositiveButton("取消", null);
return builder;
}
/**
* 选择对话框
*
* @param context
* @param arrays
* @param onClickListener
* @return
*/
public static AlertDialog.Builder getSelectDialog(Context context, String[] arrays, DialogInterface.OnClickListener onClickListener) {
return getSelectDialog(context, "", arrays, onClickListener);
}
/**
* 可设置内容、确定监听对话框
*
* @param context
* @param message
* @param onClickListener
* @return
*/
public static AlertDialog.Builder getConfirmDialog(Context context, String message, DialogInterface.OnClickListener onClickListener) {
AlertDialog.Builder builder = getDialog(context);
builder.setMessage(Html.fromHtml(message));
builder.setPositiveButton("确定", onClickListener);
builder.setNegativeButton("取消", null);
return builder;
}
/**
* 可设置内容、两个按钮监听对话框
*
* @param context
* @param message
* @param onOkClickListener
* @param onCancleClickListener
* @return
*/
public static AlertDialog.Builder getConfirmDialog(Context context, String message, DialogInterface.OnClickListener onOkClickListener, DialogInterface.OnClickListener onCancleClickListener) {
AlertDialog.Builder builder = getDialog(context);
builder.setMessage(message);
builder.setPositiveButton("确定", onOkClickListener);
builder.setNegativeButton("取消", onCancleClickListener);
return builder;
}
/**
* 可设置标题、内容、按钮文字,监听的对话框
*
* @param context
* @param title
* @param message
* @param okString
* @param cancleString
* @param onOkClickListener
* @param onCancleClickListener
* @return
*/
public static AlertDialog.Builder getConfirmDialog(Context context,
String title,
String message,
String okString,
String cancleString,
DialogInterface.OnClickListener onOkClickListener,
DialogInterface.OnClickListener onCancleClickListener) {
AlertDialog.Builder builder = getDialog(context);
if (!TextUtils.isEmpty(title)) {
builder.setTitle(title);
}
builder.setMessage(message);
builder.setPositiveButton(okString, onOkClickListener);
builder.setNegativeButton(cancleString, onCancleClickListener);
return builder;
}
/**
* 创建可自定义对话框内容和按钮文字的对话框
*
* @param context
* @param message 对话框内容
* @param okString 确定按钮文字
* @param cancleString 取消按钮文字
* @param onOkClickListener 确定监听
* @param onCancleClickListener 取消监听
* @return
*/
public static AlertDialog.Builder getConfirmDialog(Context context,
String message,
String okString,
String cancleString,
DialogInterface.OnClickListener onOkClickListener,
DialogInterface.OnClickListener onCancleClickListener) {
return getConfirmDialog(context, "", message, okString, cancleString, onOkClickListener, onCancleClickListener);
}
public static AlertDialog.Builder getSingleChoiceDialog(Context context, String title, String[] arrays, int selectIndex, DialogInterface.OnClickListener onClickListener) {
AlertDialog.Builder builder = getDialog(context);
builder.setSingleChoiceItems(arrays, selectIndex, onClickListener);
if (!TextUtils.isEmpty(title)) {
builder.setTitle(title);
}
builder.setNegativeButton("取消", null);
return builder;
}
/**
* 单选对话框
*
* @param context
* @param arrays 可供选择的数据
* @param selectIndex 默认选中的索引
* @param onClickListener
* @return
*/
public static AlertDialog.Builder getSingleChoiceDialog(Context context, String[] arrays, int selectIndex, DialogInterface.OnClickListener onClickListener) {
return getSingleChoiceDialog(context, "", arrays, selectIndex, onClickListener);
}
}
注:效果图中的每个对话框弹出都是随机的,所以会看到重复的,还有一个只显示透明效果的,是因为只是获取了对话框对象,视图可供自定义。
源码已上传至github,关注微信公众号,回复 “demo”,获取地址,欢迎交流
Android辅助服务监听dialog,Android开发中对话框辅助类——DialogHelper相关推荐
- android 实现自定义监听接口,Android在自定义类中实现自定义监听器方式
Android在自定义类中实现自定义监听器方式 发布时间:2020-08-31 06:19:39 来源:脚本之家 阅读:203 作者:Simon_Qi 监听器可以说是Android开发中最常用的东西之 ...
- android注册广播监听按钮,Android实现广播监听HOME键操作
先写了个Service,在服务中通过广播来监听HOME键操作: public class HomeService extends Service{ private MonitoHomeReceiver ...
- android 控件监听方法,Android界面控件(2)—注册点击事件监听器
Button和ImageButton 1.添加控件 1.打开Android项目下,res文件夹中的 layout 的 activity_main.xml 文件 2.可视化界面拖拽添加或修改 xml 文 ...
- android 发送彩信监听,在Android中发送短信和彩信,监听短信并显示
发送短信: String body="this is sms demo"; Intent mmsintent = new Intent(Intent.ACTION_SENDTO, ...
- android自定义键盘监听输入框,Android 自定义键盘的车牌输入框
版权声明:本文为博主原创文章,未经博主允许不得转载. 开发过与停车场有关的程序猿应该都涉及到车牌输入的开发,一些要求不高的就直接一个简单的输入框就搞定了,但是对于用户日益增加的体验度和产品经理永远满足 ...
- android 2.1 监听电话状态并自动接听来电
一.开发环境 Elispse5.5,JDK1.6,Aadroid 2.1 二.开发中使用到的重点技术点: 距离感应(SENSOR_SERVICE ),音讯管理(AUDIO_SE ...
- Android的Button监听
1.android简单按钮监听----单个监听 start = (Button)findViewById(R.id.btnStart); start.setOnClickListener(new On ...
- Android 辅助服务实战-游戏点击器
Android 辅助服务实战-游戏点击器 背景: 前几年我一直在玩一款氪金养成类手游<<末日危机>>,每天都有任务需要完成,那时游戏里面还没有一键收菜,我去年(接手了公会里面不 ...
- android 耳机监听权限,android 耳机监听
1.判断耳机是否插入: AudioManager的isWiredHeadsetOn()方法: AudioManager localAudioManager = (AudioManager) getSy ...
最新文章
- 在Ubuntu下编译安装atom编辑器
- makefile 通用模板(修正第一次版本)
- 防遗忘笔记,Fedora交叉编译window下的virt-iewer的汉化
- Oracle LAST_DAY(d)
- 我的游测之路 | 揭秘游戏测试神秘面纱(一)
- 当鼠标移入时切换背景图时闪烁的问题
- qt 旋转后的三维坐标_OpenGL + Qt: 3 - 旋转动画和键盘操纵
- Android 四大组件学习之ContentProvider四
- AVS2/AVS3测试视频和VLC播放器
- docker视频教程下载
- win10系统玩部分老游戏时提示0xc0000022的解决方法.
- 关于EF Core中同一个实体被多次tracked的问题
- 3GPP协议R15完整版下载
- panabit部署模式
- 楷书书法规则_写好楷书的五条规律,不懂这些,书法就很难入门
- 一、酷狗 歌词搜索 Indy TIdhttp
- torch.bmm()函数解读
- 数字化转型定义及优秀案例
- 2021年全球望远镜收入大约1161.6百万美元,预计2028年达到1275百万美元
- QQ2012如何恢复“合并会话窗口”为多个聊天窗口?
热门文章
- 从零开始学习jQuery-------jQuery元素选择器(三)
- Ext JS学习第二天 我们所熟悉的javascript(一)
- 从键盘读取数据,回车才能显示的问题
- 在Android中调用KSOAP2库访问webservice服务出现的服务端传入参数为null的问题解决
- 解决Matlab画图直接保存.eps格式而导致图不全的问题
- H5支付完整demo及问题总结【已解决】
- make -C $(KDIR) M=$(PWD) modules
- oracle缓存怎么看,Oracle从缓存里面查找真实的执行计划
- php gtk教程,PHP-GTK 介绍及其应用-PHP教程,PHP应用
- Kernel Method核方法—基本概念