android Theme.Holo.Dialog将蓝线改为橙色

时间:2012-04-07 19:56:35

标签: android colors styles themes

Android主题Theme.Holo.Dialog上的线条的默认颜色为蓝色。 我想知道如何将其改为任何其他颜色。 在我的情况下橙色

我可以更改文本或背景等。使用自定义style.xml

来保存主题
   <style name="Theme.MyTheme" parent="@android:style/Theme.Holo.Dialog" >
        <item name="android:textColor">@color/coloroscuro</item>
        <item name="android:textColorHint">@color/coloroscuro</item>
   </style>

但我不知道属性管理行的颜色

我的意思是主题默认的蓝线就像其他问题上显示的那样:

How to Android Holo Theme style dialog box buttons

的Tx

3 个答案:

答案 0 :(得分:25)

刚刚在源代码中为你挖掘 - 遗憾的是,对话框布局中的分隔线是一个带有硬编码颜色背景的视图,不会引用任何主题:

<View android:id="@+id/titleDividerTop"
  android:layout_width="match_parent"
  android:layout_height="2dip"
  android:visibility="gone"
  android:background="@android:color/holo_blue_light" />

因此,如果您想要更改颜色,则必须布置自己的自定义对话框。为了让它变得更容易,只需从android源代码库中复制并根据您的需求进行自定义就不会有什么坏处,但是您可能会获得比您需要的更多的东西。

答案 1 :(得分:18)

有一个库可以完全满足您的需求 - 在Holo主题中轻松设置对话框样式:

https://github.com/inmite/android-styled-dialogs

答案 2 :(得分:2)

一个技巧是使用没有标题栏的对话框,因此android不会画线,然后在对话框的布局xml文件中自己添加标题和行! 例如:

<style name="myDialogStyle" parent="android:style/Theme.Holo.Dialog">
    <item name="android:windowNoTitle">true</item>
</style>
显式使用中的

    <activity
        android:name=".Activity.Mydialog"
        android:theme="@style/myDialogStyle" >
    </activity>

并在您的Mydialog布局中定义标题并用您想要的颜色和样式排列!

喝彩!