有没有办法可以更改出现在我的 Android 应用程序中的所有警报对话框?我也想更改系统生成的对话框(比如当您长按任何 EditText 时打开的编辑文本对话框)。我想更改我应用中所有对话框的标题字体颜色和大小。
有办法吗?
我尝试在我的主题中设置 android:alertDialogTheme
。但它似乎不起作用。代码如下 -
<style name="Theme.DLight" parent="android:Theme.Light.NoTitleBar">
<item name="android:alertDialogTheme">@style/DialogStyle</item>
</style>
和
<style name="DialogStyle" parent="android:Theme" >
<item name="android:windowBackground">@drawable/background_holo_light</item>
<item name="android:textColor">#014076</item>
</style>
编辑
I'm not invoking a dialog from my code. It's just the default dialog that appears when you long click on any EditText. Generally it contains the keyboard options like Select word, Select all, Input method etc.
最佳答案
在你的对话框主题中,你需要修改windowTitleStyle
属性。在那里,为您的标题引用样式并为此标题定义文本外观。例如,要将您的标题显示为红色和粗体:
<style name="AppTheme" parent="@android:style/Theme.Holo">
...
<item name="alertDialogTheme">@style/AppTheme.AlertDialog</item>
</style>
<style name="DialogStyle" parent="@style/Theme.Holo.Dialog.Alert">
...
<item name="android:windowTitleStyle">@style/DialogWindowTitle_Custom</item>
</style>
<style name="DialogWindowTitle_Custom" parent="@style/DialogWindowTitle_Holo">
<item name="android:maxLines">1</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:textAppearance">@style/TextAppearance_DialogWindowTitle</item>
</style>
<style name="TextAppearance_DialogWindowTitle" parent="@android:style/TextAppearance.Holo.DialogWindowTitle">
<item name="android:textColor">@android:color/holo_red_light</item>
<item name="android:textStyle">bold</item>
</style>
如果您想为 AlertDialog 设计更多样式,我写了一个 blog post详细步骤。
关于Android - 更改应用程序中所有对话框的对话框标题样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11921216/