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.permission 权限 | Android 系统中的 Linux 用户权限 )
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )