gpt4 book ai didi

android:如何在主题中定义自定义颜色、可绘制对象等?

转载 作者:行者123 更新时间:2023-11-29 00:39:15 24 4
gpt4 key购买 nike

我希望我能解释一下我在追求什么。本质上,我的用户要求我在我的应用程序中允许不同的外观,我希望我可以通过主题来做到这一点。

我希望我能做这样的事情:

<style name="NewTheme" parent="android:Theme.Dark">
<item name="labelColor">#f90</item>
<item name="buttonColor">#fff</item>
<item name="buttonBg">@drawable/button</item>
</style>
<style name="OldTheme" parent="android:Theme.Dark">
<item name="labelColor">#fa0</item>
<item name="buttonColor">#88f</item>
<item name="buttonBg">@drawable/button_old</item>
</style>

然后在我的 styles.xml 中引用这些值:

<style name="labelStyle">
<item name="android:textColor>@labelColor</item>
</style>
<style name="buttonStyle">
<item name="android:textcolor">@buttonColor</item>
<item name="android:background">@buttonBg</item>
</style>

我知道这个语法是错误的,但正确的语法是什么?基本上,我想创建一组属性(颜色、背景和其他一些东西)并根据主题选择它们。

最佳答案

要在 Android 中使用主题和样式,您必须:

  1. 在themes.xml中定义一个或多个主题并设置定义你的风格在那里。

  2. 在 attrs.xml 中定义自定义属性,也就是自定义样式。

  3. 在 styles.xml 中描述您的自定义样式的值。

  4. 在你的布局文件中,给你的 View 一个样式属性,它有一个自定义样式名称作为它们的值。

  5. 将您的应用程序或 Activity 的主题设置为AndroidManifest.xml 或在 Activity 的 onCreate() 中。这是通过在调用 setContentView() 之前调用 Activity 的 onCreate() 方法中的 setTheme() 来完成的。

  6. 要更改主题,您只需重新启动您的 Activity。

enter image description here

我建议你看看这个tutorial它处理程序员想要在 android 主题上工作的所有内容(文本颜色、文本格式、可绘制状态列表等...)

关于android:如何在主题中定义自定义颜色、可绘制对象等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10545039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com