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

Posted

技术标签:

【中文标题】android Theme.Holo.Dialog 将蓝线变为橙色【英文标题】:android Theme.Holo.Dialog changing blue lines to orange 【发布时间】:2012-04-20 22:04:49 【问题描述】:

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

【问题讨论】:

Theme.Holo.Dialog 上的默认蓝线。我编辑了问题以清除这一点。交易 @butelo 我想做类似的事情。你最后创建了一个自定义对话框吗? 不。我终于放弃尝试了,对不起。但最近我发现了一个名为 HoloEverywhere github.com/ChristopheVersieux/HoloEverywhere 的主题,我认为如果你可以随意修改它会很有用 永不放弃!永不投降!好吧,我也想知道 :-( 他们应该有一个全息变体,带有设计指南样本中的每种粗体颜色:developer.android.com/design/style/color.html 请有代表的人为此提供赏金:-( 【参考方案1】:

刚刚为您挖掘了源代码 - 不幸的是,对话框布局中的分隔线是一个具有硬编码颜色背景的视图,不引用任何主题:

<View android:id="@+id/titleDividerTop"
  android:layout_
  android:layout_
  android:visibility="gone"
  android:background="@android:color/holo_blue_light" />

因此,如果您想更改颜色,则必须布置自己的自定义对话框。为方便起见,只需从 android 源代码库复制并根据您的需要对其进行自定义不会有什么坏处,但您可能会得到比您需要的更多的东西。

【讨论】:

【参考方案2】:

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

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

【讨论】:

感谢 lib,但我需要使用 gradle 而不是 maven,可以吗? 下一个版本将作为 aar 上传到 Maven Central(现在只是 apklib)【参考方案3】:

一个技巧是使用没有标题栏的对话框,因此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 布局中定义标题并使用您想要的颜色和样式为自己划线!

干杯!

【讨论】:

以上是关于android Theme.Holo.Dialog 将蓝线变为橙色的主要内容,如果未能解决你的问题,请参考以下文章

求com.android.internal.R.attr.dialogTheme代码

android自定义对话框背景

Android逆向系列文章— Android基础逆向

Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )

Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )

android 21 是啥版本