android - 使用 DayNight 主题为警报对话框设置按钮文本颜色
问题描述
我正在尝试在警报对话框中设置按钮的文本颜色。我的应用程序支持昼夜模式。我的 AlertDialog 主题扩展Theme.MaterialComponents.DayNight.Dialog.Alert
了,我已经覆盖了colorAccent
&android:colorAccent
属性,但它没有用,并且显示了完全不同的颜色。
<style name="AlertDialogTheme" parent="Theme.MaterialComponents.DayNight.Dialog.Alert">
<item name="android:colorAccent">#FF0000</item>
<item name="colorAccent">#FF0000</item>
</style>
解决方案
尝试这个:
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
lateinit var dialogBuilder: AlertDialog.Builder
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
dialogBuilder = AlertDialog.Builder(this)
dialogBuilder.setMessage("Check your internet connection")
.setPositiveButton("OK") { _, _ ->
Toast.makeText(this,"Ok",Toast.LENGTH_LONG).show()
}.setCancelable(false)
.create().show()
}
}
在颜色方面,我们有:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#00ff00</color>
</resources>
推荐阅读
- android - 如何使用 IBinder.DeathRecipient?
- javascript - jquery document.ready 函数不起作用
- cassandra - Cassandra - 达到的最大内存使用量(128.000MiB)无法分配 1.000 MiB 的块,这是什么意思?
- c++ - 如何计算存储在另一个字符串变量中的字符串变量的值
- mysql - 错误将 SQL DB 转发到 phpmyadmin 错误
- javascript - 如何导出全局工作的模块并用于 ES6 导入
- php - 创建一个具有 2 个与键相同的值的数组
- singlestore - MemSQL 非常奇怪的错误,缺少字符
- python - 只保留来自熊猫组的字典中没有 None 值的键
- java - 如何在数组中找到包含相等总和的子集: