Android - 更改应用程序中所有对话框的对话框标题样式

标签 android android-alertdialog android-theme

有没有办法可以更改出现在我的 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/

相关文章:

android - Android 中用户定义的 Activity 主题

android - 如何覆盖具有自己 Activity 的库的样式

android - 具有多个发件人的 GCM

android - 离线安装 ADT 22.3 时出错

java - 当应用程序关闭时,Android NFC 总是调用 onCreate

android - alertDialog 框中的 AutoCompleteTextView

android - if else 语句中的警报对话框生成器 - android

android - 如果我设置 Activity 主题,那么该 Activity 的弹出窗口不应该改变,这可能吗?

android - ViewGroup 中的黑色矩形 PorterDuff.Mode.CLEAR

android - Android 中的 FORT SDK 集成