安卓AlertDialog源码分析

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

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

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

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

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

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

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

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

相关推荐
_祝你今天愉快5 小时前
UI核心 - UI绘制流程及原理
android
mmsx5 小时前
Android 一个设备多个 App 抢:跨进程共享服务的架构设计
android·kotlin·app
mmsx5 小时前
Android GIS系列 栅格怎么存、格网怎么归算:两个容易混淆的 GIS 链路
android·性能优化·app
陈柒吖5 小时前
安卓代码加固(1):加密DEX
android·前端
mmsx5 小时前
Android GIS系列 串口、蓝牙、USB、网络:一套统一抽象怎么扛住四种通道
android·app·产品
二流小码农5 小时前
鸿蒙开发:ArrayList,可不会让UI更新哦
android·ios·harmonyos
hai_android5 小时前
深入理解 Java 的四种引用:强引用、软引用、弱引用、虚引用
android·kotlin·android jetpack
恋猫de小郭5 小时前
Flutter Golden Tests:给 AI Agent 的 UI 测试系统
android·前端·flutter
知昂七昂6 小时前
AOSP编译:敲下 `lunch xxx-userdebug`,你知道系统偷偷干了什么吗?
android
千里马学框架6 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation