android qmui框架,腾讯QMUI Android框架使用(三)QMUIDialog
QMUIDialog
提供了一系列常用的对话框,解决了使用系统默认对话框时在不同 Android 版本上的表现不一致的问题。使用不同的 Builder 来构建不同类型的对话框,这些 Builder 都拥有设置 title 和添加底部按钮的功能,不同的 Builder 特有的作用如下:
1.MessageDialogBuilder: 消息类型的对话框 Builder。通过它可以生成一个带标题、文本消息、按钮的对话框。
2.ConfirmMessageDialogBuilder: 带 Checkbox 的消息确认框 Builder。
3.EditTextDialogBuilder: 带输入框的对话框 Builder。
4.MenuDialogBuilder: 菜单对话框 Builder。
5.CheckableDialogBuilder: 单选类型的对话框 Builder。
6.MultiCheckableDialogBuilder: 多选类型的对话框 Builder。
7.CustomDialogBuilder: 自定义对话框内容区域的 Builder。
8.AutoResizeDialogBuilder: 随键盘升降自动调整 Dialog 高度的 Builder
设计模式和Dialog一样,所以用法也没什么差异
消息类型对话框(蓝色按钮)
/**
* 消息类型对话框(蓝色按钮)
*/
private void showMessagePositiveDialog() {
new QMUIDialog.MessageDialogBuilder(context)
.setMessage("标题")
.setTitle("确认要发送吗?")
.addAction("取消", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
dialog.dismiss();
}
})
.addAction("确认", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
dialog.dismiss();
}
})
.create(mCurrentDialogStyle).show();
}
}
微信图片_201904011130572.png
菜单类型对话框
/**
* 菜单类型对话框
*/
private void showMenuDialog() {
final String strs []=new String[]{"选项一","选项二","选项三"};
new QMUIDialog.MenuDialogBuilder(context)
.addItems(strs, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context,"我点第"+"which"+"个",Toast.LENGTH_SHORT).show();
}
}).create(mCurrentDialogStyle).show();
}
微信图片_201904011130571.png
带checkbox的消息确认框
/**
* 带checkbox的消息确认框
*/
private void showConfirmMessageDialog() {
new QMUIDialog.CheckBoxMessageDialogBuilder(context)
.setTitle("退出后是否删除账号信息?")
.setMessage("删除账号信息")
.setChecked(true)
.addAction("取消", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
}
})
.addAction("退出", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
}
})
.create(mCurrentDialogStyle)
.show();
}
微信图片_201904011130575.png
单选类型对话框
/**
* 单选菜单
*/
private void showSingleChoiceDialog() {
final String [] strs=new String[]{"选项一","选项二","选项三"};
final int checkIndex=1;
new QMUIDialog.CheckableDialogBuilder(context)
.addItems(strs, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context,"选择一"+"which",Toast.LENGTH_SHORT).show();
}
})
.setCheckedIndex(checkIndex)
.create(mCurrentDialogStyle)
.show();
}
微信图片_201904011130574.png
多选类型对话框
/**
* 多选菜单
*/
private void showMultiChoiceDialog() {
final String items []=new String[]{"选项1","选项2","选项3","选项4","选项5","选项6","选项7","选项8"};
final QMUIDialog.MultiCheckableDialogBuilder builder = new QMUIDialog.MultiCheckableDialogBuilder(context)
.addItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setCheckedItems(new int[]{1, 3});
builder.addAction("取消", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
}
});
builder.addAction("确定", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
String result="你选择了";
for(int i=0;i
result+=""+builder.getCheckedItemIndexes()[i]+"";
Toast.makeText(context, result, Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
}
});
builder.create(mCurrentDialogStyle).show();
}
微信图片_201904011130573.png
带输入框的对话框
/**
* 带输入框的dialog
*/
private void showEditTextDialog() {
final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(context);
builder.setTitle("我是标题");
builder.setPlaceholder("在此输入昵称");
builder.setInputType(InputType.TYPE_CLASS_TEXT);
builder.addAction("取消", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
}
});
builder.addAction("确定", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
String inputStr=builder.getEditText().getText().toString();
if(!TextUtils.isEmpty(inputStr)){
Toast.makeText(context,inputStr,Toast.LENGTH_SHORT).show();
dialog.dismiss();
}else{
Toast.makeText(context,"请输入昵称",Toast.LENGTH_SHORT).show();
}
}
});
builder.create(mCurrentDialogStyle).show();
}
微信图片_20190401113057.png
android qmui框架,腾讯QMUI Android框架使用(三)QMUIDialog相关推荐
- android rom 评测,腾讯定制Android 4.0 ROM评测 附tati刷机教程
从Nexus S刷过tita后的截图来看,该ROM的UI界面非常简单,而系统设置界面基本保持了原生界面风格.出乎人意料的是,tita并没有捆绑过多腾讯自己的应用程序(不知是不是测试版的原因). 此外, ...
- android 投票功能,腾讯新闻Android客户端更新 加入投票功能
腾讯近日更新了其应用<腾讯新闻>安卓版,加入了新闻专题,投票两大新功能,同事还优化了用户界面,大家在浏览各类新闻方面又有了新的选择. 新版特点: 1.新闻专题:热门新闻专题呈现,聚合浏览, ...
- 腾讯开源android项目管理,腾讯开源的Android UI框架——QMUI Android
各位同学,早上好,我是你们的老朋友D_clock爱吃葱花,前些天忙着发版本,最近也在看各种各样的新知识,有好多东西想写啊啊啊啊啊.嗯,先冷静捋一下,卖个关子.扯回正题,今天继续为大家推荐一个Githu ...
- arr 安卓调用qmui_腾讯QMUI Android框架使用(一)入门及目录
腾讯QMUI Android框架使用(一)入门及目录 开始使用 qmui 1.引入库 dependencies { implementation 'com.qmuiteam:qmui:1.2.0' } ...
- 腾讯Hardcoder Android通讯框架简介
Hardcoder简介 Hardcoder是腾讯开源的一套Android APP 与系统间的通信解决方案,Hardcoder有效的解决了 APP 只能调用系统标准 API,无法直接调用系统底层硬件资源 ...
- Dexposed:Android平台免Root无侵入AOP框架
本文来自阿里巴巴技术协会(ATA) 本文首发于 http://www.infoq.com/cn/news/2015/07/dexposed 近日,阿里巴巴无线事业部推出首个重量级Android开源项目 ...
- 框架模式 MVC 在Android中的使用
算来学习Android开发已有2年的历史了,在这2年的学习当中,基本掌握了Android的基础知识.越到后面的学习越感觉困难,一来是自认为android没啥可学的了(自认为的,其实还有很多知识科学), ...
- android+qq换肤实现,QMUI 换肤 · Tencent/QMUI_Android Wiki · GitHub
QMUI版本要求: v2.0.0-alpha05+ 官方 Android 10 Dark Mode 适配方案 Android 10 提供了 Dark Mode 适配提供的 API: 提供了 value ...
- 【Android 插件化】Hook 插件化框架总结 ( 插件包管理 | Hook Activity 启动流程 | Hook 插件包资源加载 ) ★★★
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
最新文章
- mysql backlog_一次优化引发的血案
- 【小米校招笔试】给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次
- 使用 MSIX 打包 DotNetCore 3.0 客户端程序
- SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口
- 自动驾驶模拟器Carla之python编程-(1)简介
- nvidia显卡驱动,cuda,和cudnn版本
- 单片机技术与c语言编程教学大纲,《单片机原理及应用》课程教学大纲
- 三网融合方案通过 一台机器打电话看电视上网
- TE波TM波和TEM波波阻抗
- 电脑如何打开软键盘,教大家Win10如何打开软键盘的方法
- 柯洁夺斗地主全国冠军!斗地主可以排解输棋痛苦”
- 30天自制操作系统(day10)
- 第一次玩switch,需不需要再买一个任天堂Pro手柄
- win10下安装Debain Linux子系统
- 计算机管理用房设置要求,综合医院建筑规范(放射科用房)
- Qt5 实现文件复制并在指定路径下创建文件夹
- Java实现数字水印
- linux下安装codeblocks及写完程序之后编译成功但无法运行的原因
- 旁挂二层组网隧道转发
- C语言题目——通讯录(静态存储+动态存储)