安卓AlertDialog源码分析

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

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

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

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

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

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

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

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

相关推荐
plainGeekDev1 小时前
null 判断 → Kotlin 可空类型
android·java·kotlin
plainGeekDev1 小时前
getter/setter → Kotlin 属性
android·java·kotlin
YXL1111YXL3 小时前
Handler 消息回收与协程异步执行的时序陷阱
android
恋猫de小郭3 小时前
KMP / CMP 鸿蒙版本 Beta 发布,他有什么特别之处?
android·前端·flutter
三少爷的鞋4 小时前
Android 协程并发控制:别动线程池,控制好并发语义就够了
android
weiggle20 小时前
第七篇:状态提升与单向数据流——架构设计的核心
android
xingpanvip21 小时前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
goldenrolan21 小时前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
AC赳赳老秦1 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
骇客之技术1 天前
AutoLua:在安卓上写 Lua 脚本
android·junit·lua