Builder模式设置AlertDialog字体大小、颜色等属性
来源:互联网 发布:腾讯公司发展数据 编辑:程序博客网 时间:2024/06/04 23:56
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();
支持的属性:
通过 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 https://github.com/yannecer/NDialog
阅读全文
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字体大小和颜色等操作
- 怎么从Chrome浏览器中导出扩展程序为crx文件?
- KCF算法学习笔记
- H5面试——如何阻止事件冒泡和默认事件
- ${pageContext.request.contextPath}访问相关的问题
- Evaluate Reverse Polish Notation问题及解法
- Builder模式设置AlertDialog字体大小、颜色等属性
- Kotlin学习笔记(三)---Kotlin密封类
- Kotlin学习笔记---单例模式
- 本地分支同远程分支关联问题
- 员工管理系统Map版
- Kotlin开发问题(一)
- DrawerLayout中侧边栏NavigationView沉浸式状态栏无效问题
- git 删除已经add但未commit的文件
- 简单明了的分析Android触摸事件,看完再也不纠结了