安卓AlertDialog源码分析

首先我们来看个问题:AlertDialog怎么更改按钮颜色

有时我们遇到产品或者视觉设计需要改变AlertDialog的按钮颜色时候,我们先来看一下AlertDiglog简单使用方法。

我想改变"没希望"这个按钮的颜色值,目前AlertDialog的按钮颜色值是根据主题色来确定的,但是我不想改变主题色,会影响其他一些控件。具体代码实现:

需加在dialog.show之后,具体原因可以看注释。

下面再看个问题,我点击"能"我不想对话框消失,我想一直看这进大厂的目标。

默认AlertDialog点击按钮都会消失,不管是PositiveButton还是NegativeButton的,那么我们怎么实现呢?我们来看代码

我们给PositiveButton按钮设置了监听器为Null,取代他的是View.OnClickListener然后就弹出Toast了

下篇我们来分析源码原理。

相关推荐
三少爷的鞋1 小时前
换个思路理解:非阻塞挂起
android
好的佩奇2 小时前
蓝牙之经典蓝牙
android·flutter·蓝牙
传奇开心果编程4 小时前
【Flutter踩坑排雷】第19课:路由硬编码坑|字符串路由书写错误,页面跳转失败排查
android·flutter·ios·移动开发·跨平台·ui框架·声明式ui
微小的鱼7 小时前
Linux的渲染与显示系统链路
android·java·linux
道尔柯南19 小时前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
唐诺20 小时前
5、Android JNI 动态注册中的“签名“详解
android·jni
zhaoshuzhaoshu1 天前
Android 系统启动与调试中的日志抓取方式全解析
android
雨声不在1 天前
android 动画掉帧
android
在多学一点1 天前
MYSQL第二次作业
android·数据库·mysql
骑着蜗牛撵大象3271 天前
MySQL 8.0 迁移后 SQL 变慢:执行计划里 3 类被忽略的成本差异
android·数据库·sql·mysql·优化器·执行计划