我已经为这件事伤透了脑筋。我需要做的是,改变android应用程序中所有AlertDialog
的样式--对话框背景需要是白色的,文本需要是黑色的。我尝试从代码、清单等创建许多样式、主题和应用程序,但没有成功,关于AlertDialog
中的文本颜色。现在,我有一个最简单的代码,如下所示:
舱单:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
xml:
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:alertDialogStyle">@style/DialogStyle</item>
</style>
<style name="DialogStyle" parent="@android:style/Theme.Dialog">
<!-- changing these background stuff works fine -->
<item name="android:bottomBright">@android:color/white</item>
<item name="android:bottomDark">@android:color/white</item>
<item name="android:bottomMedium">@drawable/dialog_footer_bg</item>
<item name="android:centerBright">@android:color/white</item>
<item name="android:centerDark">@drawable/dialog_body_bg</item>
<item name="android:centerMedium">@android:color/white</item>
<item name="android:fullBright">@color/orange</item>
<item name="android:fullDark">@color/orange</item>
<item name="android:topBright">@color/green</item>
<item name="android:topDark">@drawable/dialog_header_bg</item>
<!-- panelBackground is not getting set to null, there is something squarish around it -->
<item name="android:panelBackground">@null</item>
<!-- Setting this textColor doesn't seem to have any effect at all. Messages, title, button text color, whatever; nothing changes. -->
<item name="android:textColor">#000000</item>
<!-- Also tried with textAppearance, as follows. Didn't work -->
<item name="android:textAppearance">?android:attr/textColorPrimaryInverse</item>
<!-- Also tried changing textAppearancePrimary, to no avail -->
<item name="android:textColorPrimary">#000000</item>
<!-- Also need to change the dialog title text, tried it as follows, dint work: -->
<item name="android:windowTitleStyle">@style/DialogWindowTitle</item>
</style>
<style name="DialogWindowTitle">
<item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item>
</style>
编辑:添加截图:
您需要为AlertDialog定义一个主题,并在活动的主题中引用它。该属性是AlertDialogTheme
而不是AlertDialogStyle
。像这样:
<style name="Theme.YourTheme" parent="@android:style/Theme.Holo">
...
<item name="android:alertDialogTheme">@style/YourAlertDialogTheme</item>
</style>
<style name="YourAlertDialogTheme">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
<item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
<item name="android:windowTitleStyle">...</item>
<item name="android:textAppearanceMedium">...</item>
<item name="android:borderlessButtonStyle">...</item>
<item name="android:buttonBarStyle">...</item>
</style>
您将能够改变标题、消息的颜色和文本外观,您将对每个区域的背景进行一些控制。我写了一篇博客文章,详细介绍了设置AlertDialog样式的步骤。
问题内容: 我有一个活动,其底部有一个“保存并取消”按钮。 在AlertDialog中,按钮显示在某种样式的容器视图内。 我怎样才能使“活动”中的按钮具有相同的外观?具体来说,如何在AlertDialog中应用按钮容器视图的样式,在包含按钮的Activity中说一个LinearLayout? 谢谢 问题答案: 我做这样的事情: 然后,我使用dialogLayout调用findViewById()来
问题内容: 我需要在 警报 框中更改“确定”按钮的样式。 问题答案: 警报框是系统对象,不受CSS约束。为此,您需要创建一个HTML元素并模仿其功能。jQuery UI Dialogue为您做了很多工作,基本上就像我描述的那样:Link。
我使用以下样式,通常使用ButtonBlue。在菜单上,样式应改为ButtonBlue。大号的款式是这样的: 有没有办法将样式更改为多个按钮?因为我有31个按钮,如果每个按钮都需要手动更改,那就太多了 提前谢谢 编辑:我在活动中应用了按钮蓝色样式。xml 但我的问题是,我不知道如何在Java代码中通过按钮应用新样式
问题内容: 假设我要对JComboBox中的箭头使用自定义图像,该怎么做? 我知道可以使用synth xml文件甚至UIManager.put(…),但是我不知道如何。我现在要做的就是将箭头图像更改为其他图像,无论是以编程方式还是仅覆盖其使用的图像。我到底该怎么做? 问题答案: 您可以在中覆盖。是一个方便的起点。 然后安装它。
问题内容: 我需要在 警报 框中更改“确定”按钮的样式。 问题答案: 警报框是系统对象,不受CSS约束。为此,您需要创建一个HTML元素并模仿其功能。jQueryUIDialogue为您做了很多工作,基本上就像我描述的那样:Link。
问题描述 根据设计稿改element switch样式 你期待的结果是什么?