想要改下AlertDialog
文字颜色及大小、甚至按钮布局等,只能编写java代码自定义Dialog
来实现?
其实还可以通过应用主题来统一调整弹窗样式。
以material
主题为例,项目部分依赖如下:
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
打开项目themes.xml
,写入如下代码即可:
<resources>
<!--弹窗标题文字样式-->
<style name="TextAppearance.AppCompat.Title">
<item name="android:textColor">?android:textColorPrimary</item>
<item name="android:textSize">30dp</item>
</style>
<!--弹窗消息文字样式-->
<style name="TextAppearance.AppCompat.Subhead">
<item name="android:textColor">?android:textColorPrimary</item>
<item name="android:textSize">25dp</item>
</style>
<!--
Base.V21.Theme.MaterialComponents ↓
alertDialogTheme ↓
buttonBarButtonStyle ↓
弹窗按钮样式
-->
<style name="Widget.MaterialComponents.Button.TextButton.Dialog"
parent="Widget.AppCompat.Button.Borderless.Colored">
<item name="android:minWidth">100dp</item>
<item name="android:minHeight">50dp</item>
<item name="android:layout_marginStart">20dp</item>
<item name="android:layout_marginEnd">20dp</item>
</style>
</resources>
引用androidx.appcompat.app.AlertDialog
,而非android.app.AlertDialog
。