Builder模式设置AlertDialog字体大小、颜色等属性
来源:互联网 发布:全球经济增长数据 编辑:程序博客网 时间:2024/06/05 00:24
AlertDialog
在开发中很常用,v7
包中的AlertDialog
界面清爽美观,能满足大多数开发需求,但是有时还是需要更加个性化的需求,比如设置AlertDilog
字体大小,颜色等属性。网上有不少文章这方面的文章,一般采用style或者反射来设置,本篇文章是参照源码拿到AlertDialog
元素具体的控件对相应的元素进行设置。效果图:
项目地址 https://github.com/yannecer/NDialog
使用方法
Gradle
compile 'com.necer.ndialog2:ndialog:1.0.2'
确认提示框
new NDialog(this) .setTitle("我是标题") .setTitleColor(Color.parseColor("#00c8aa")) .setTitleSize(18) .setTitleCenter(false) .setMessageCenter(false) .setMessage("我是meaasge") .setMessageSize(16) .setMessageColor(Color.parseColor("#00ff00")) .setNegativeTextColor(Color.parseColor("#000000")) .setPositiveTextColor(Color.parseColor("#ff0000")) .setButtonCenter(false) .setButtonSize(14) .setCancleable(true) .setOnConfirmListener(new NDialog.OnConfirmListener() { @Override public void onClick(int which) { //which,0代表NegativeButton,1代表PositiveButton Toast.makeText(MainActivity.this, "点击了::" + which, Toast.LENGTH_SHORT).show(); } }).create(NDialog.CONFIRM).show();
输入框
new NDialog(this).setTitle("请输入。。。") .setInputHintText("hint") .setInputHintTextColor(Color.parseColor("#c1c1c1")) .setInputText("") .setInputTextColor(Color.parseColor("#333333")) .setInputTextSize(14) .setInputType(InputType.TYPE_CLASS_TEXT) .setInputLineColor(Color.parseColor("#00ff00")) .setPositiveButtonText("确定") .setNegativeButtonText("取消") .setNegativeTextColor(Color.parseColor("#c1c1c1")) .setOnInputListener(new NDialog.OnInputListener() { @Override public void onClick(String inputText, int which) { //which,0代表NegativeButton,1代表PositiveButton Toast.makeText(MainActivity.this, "输入了::" + inputText, Toast.LENGTH_SHORT).show(); } }).create(NDialog.INPUT).show();
选择框
new NDialog(this) .setItems(new String[]{"aaa", "bbb", "ccc", "ddd"}) .setItemGravity(Gravity.LEFT) .setItemColor(Color.parseColor("#000000")) .setItemHeigh(50) .setItemSize(16) .setDividerHeigh(1) .setAdapter(null) .setDividerColor(Color.parseColor("#c1c1c1")) .setHasDivider(true) .setOnChoiceListener(new NDialog.OnChoiceListener() { @Override public void onClick(String item, int which) { Toast.makeText(MainActivity.this, "选择了::" + item, Toast.LENGTH_SHORT).show(); } }).create(NDialog.CHOICE).show();
支持的属性:
属性 描述
NDialog.CONFIRM 构建确认提示弹窗
NDialog.INPUT 构建输入弹窗
NDialog.CHOICE 构建选择弹窗
positiveButtonText positive按钮文本
positiveTextColor positive按钮文本颜色
negativeButtonText negative按钮文本
negativeTextColor negative按钮文本颜色
buttonSize positive和negative按钮大小
isButtonCenter positive和negative按钮是否居中
message 确认提示弹窗message文本
messageSize 确认提示弹窗message字体大小
messageColor 确认提示弹窗message字体颜色
isMessageCenter 确认提示弹窗message是否居中
title title文本
titleSize positive文本大小
titleColor title文本颜色
isTitleCenter title是否居中
inputText 输入框预输入文本
inputTextSize 输入框预输入文本字体大小
inputTextColor 输入框预输入文本字体颜色
inputHintText 输入框hint
inputHintTextColor 输入框hint文本字体颜色
inputType 输入框输入类型
hasDivider 选择框是否要分割线
dividerHeigh 选择框分割线高度
dividerColor 选择框分割线颜色
items 选择框选择的item
itemColor 选择框item字体颜色
itemSize 选择框item字体大小
itemGravity 选择框item位置
itemHeigh 选择框item高度
cancleable 弹窗是否可取消
通过 create(int type) 构建不用的dialog,目前有三种
CONFIRM,INPUT,CHOICE。
原理
确认提示框 :在 Dialog OnShowListener 回调中,得到 title 、meaasge 等具体的控件,再设置属性,具体参见从源码看 AlertDialog.getButton(DialogInterface.BUTTON_POSITIVE) 为什么是 null。
输入框:通过给AlertDialog 设置了一个带EditText的view实现输入框的需求。
选择框:通过给AlertDialog 设置了一个带ListView的view 实现列表展示的功能,也可以给选择框设置一个自定义的 BaseAdapter,实现更个性化的效果。
属性 描述
NDialog.CONFIRM 构建确认提示弹窗
NDialog.INPUT 构建输入弹窗
NDialog.CHOICE 构建选择弹窗
positiveButtonText positive按钮文本
positiveTextColor positive按钮文本颜色
negativeButtonText negative按钮文本
negativeTextColor negative按钮文本颜色
buttonSize positive和negative按钮大小
isButtonCenter positive和negative按钮是否居中
message 确认提示弹窗message文本
messageSize 确认提示弹窗message字体大小
messageColor 确认提示弹窗message字体颜色
isMessageCenter 确认提示弹窗message是否居中
title title文本
titleSize positive文本大小
titleColor title文本颜色
isTitleCenter title是否居中
inputText 输入框预输入文本
inputTextSize 输入框预输入文本字体大小
inputTextColor 输入框预输入文本字体颜色
inputHintText 输入框hint
inputHintTextColor 输入框hint文本字体颜色
inputType 输入框输入类型
hasDivider 选择框是否要分割线
dividerHeigh 选择框分割线高度
dividerColor 选择框分割线颜色
items 选择框选择的item
itemColor 选择框item字体颜色
itemSize 选择框item字体大小
itemGravity 选择框item位置
itemHeigh 选择框item高度
cancleable 弹窗是否可取消
通过 create(int type) 构建不用的dialog,目前有三种
CONFIRM,INPUT,CHOICE。
原理
确认提示框 :在 Dialog OnShowListener 回调中,得到 title 、meaasge 等具体的控件,再设置属性,具体参见从源码看 AlertDialog.getButton(DialogInterface.BUTTON_POSITIVE) 为什么是 null。
输入框:通过给AlertDialog 设置了一个带EditText的view实现输入框的需求。
选择框:通过给AlertDialog 设置了一个带ListView的view 实现列表展示的功能,也可以给选择框设置一个自定义的 BaseAdapter,实现更个性化的效果。
阅读全文
0 0
- Builder模式设置AlertDialog字体大小、颜色等属性
- Builder模式设置AlertDialog字体大小、颜色等属性
- Builder模式设置AlertDialog字体大小、颜色等属性
- Android原生AlertDialog修改标题,内容,按钮颜色,字体大小等
- Android原生AlertDialog修改标题,内容,按钮颜色,字体大小等
- Android原生AlertDialog修改标题,内容,按钮颜色,字体大小等
- 修改UIBarButtonItem字体大小、颜色等相关属性
- 修改UIBarButtonItem字体大小、颜色等相关属性
- 修改UIBarButtonItem字体大小、颜色等相关属性
- textField设置placeholder的字体大小,颜色等
- textField设置placeholder的字体大小,颜色等
- AlertDialog.Builder属性集合
- AlertDialog.Builder属性
- AlertDialog.Builder属性集合
- 修改控件Spinner内容的字体大小 颜色等属性
- 修改控件Spinner内容的字体大小 颜色等属性
- 修改控件Spinner内容的字体大小 颜色等属性
- eclipse设置背景颜色、字体大小、行号、XML字体大小和颜色等操作
- MATLAB2012a反复激活
- ECS下CentOS系统中WEB的基本配置(也适用于VM)
- C++——类型转换
- 从 Python到Tensorflow 学习之路(一)
- OPENCV 4. 矩阵维度、通道和数据访问
- Builder模式设置AlertDialog字体大小、颜色等属性
- SQLHelper助手类【代码】
- 基础练习 字母图形
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink高级特性与高级应用015-Flink中广播变量和分布式缓存001
- php的十六个魔术方法
- Advanced Programming in UNIX Environment Episode 17
- Matlab 绘图时hold on 和hold off用法
- 剑指OFFER——判断一棵树是否是平衡二叉树 java实现
- 主键、外键、唯一索引、单索引与组合索引