gpt4 book ai didi

android - 在应用程序中创建两个独立的主题

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

我一直在使用自定义 styles,我做得很好,但现在我对如何为小部件(例如 CompoundButtons)使用完全不同的 styles 感到困惑SpinnersImageButton 等。我为每种类型定制了 Buttons,并且每个都有自己的 drawable 取决于它的状态。我已经弄清楚了,但我需要两个完全不同的主题(例如,在按下状态时使用 meal_orange ImageButton 并在 ImageButton 状态下使用 meal_blue pressed for my other Theme) 取决于应用程序是针对两个客户中的哪一个。我已经搜索过这个问题,所以如果没有两个单独的应用程序是不可能的,或者我没有搜索正确的术语或没有完全理解 themes(可能两者都有)。

我目前拥有的一个小例子在我的 styles.xml

// these point to separate selector files to show the different states
<style name="MealButton" parent="@android:style/Widget.ImageButton">
<item name="android:background">@drawable/meal_button</item>
</style>

<style name="CatButton" parent="@android:style/Widget.ImageButton">
<item name="android:background">@drawable/cat_button</item>
</style>

我最初创建了一个自定义的主题,类似

<style name="CustomActivityTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

ActionBar 部分是无关紧要的,因为我创建了一个自定义栏,但如果我可以这样做并且在此处指示使用上面的 ImageButton 样式示例,那将很棒。

希望我解释正确。有人可以告诉我这是否可能。我无法想象我会需要两个不同版本的应用程序,但也许吧。我以为我可以在不同的 themes 中声明这些 styles 但我似乎无法为 widgets 这样做。

澄清一下,问题是我如何在第二个代码块中使用第一个代码块并针对两个单独的主题执行此操作?谢谢!

最佳答案

很遗憾,这是不可能的。

应用样式无法在整个应用范围内以编程方式进行控制,因此您无法真正设置一个标志并让它为每个客户端单独工作。

您可能有一个 bash 脚本,或使用 maven,通过在每次构建的基础上交换 XML 文件来自动构建。

或者,如果您的代码库对于两个客户来说完全相同,您可以将它移到一个库项目中,并创建两个源自它的项目以具有不同的主题。

关于android - 在应用程序中创建两个独立的主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16489657/

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