我在Android开发初学者,虽然编码熟能生巧SENCE,安卓主题恕我直言不Android的主题实现最简单的麻烦:每个主题颜色定制
我实现这个简单的任务麻烦:
我已(例如)颜色名为“嗒嗒”
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="blah">#F0F0F0</color>
<resources>
其到处用于XML布局或代码,并通过不同的视图complonents为“@颜色/嗒嗒”
我只是想使每个主题此颜色值变化
所以,当我使用MyTheme1,等等应该是#F0F0F0,当我使用MyTheme2等等应该是#00FF00
我一直在读关于主题,仍然无法找到如何实现这个简单的任务,因为我的应用程序不需要特殊的风格等,只是每个主题的颜色。
提前感谢名单
UPDATE:
由Mohamed_AbdAllah提供的链接后,我成功地设法通过attrs.xml和styles.xml定义它们来创建一些 自定义颜色:
attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="color_item_title" format="color|reference" />
</resources>
styles.xml
<style name="AppBaseThemeDark" parent="android:Theme.Black">
<item name="color_item_title">@color/White</item>
</style>
但现在一个更严重的问题出现
我可以成功地使用颜色?color_item_title在每个视图, 所以按钮和文本实际上获取的颜色。
但是,在自定义绘图或列表视图布局 (这意味着在运行期间得到充气的视图)导致崩溃,使用该?color_item_title。
因此,使用color_item_title在里面运行 列表视图列表项的布局崩溃,并在该行:(
它还崩溃在我的绘图资源吹气消息:(再次通货膨胀错误)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="@color/Black" />
<corners
android:bottomLeftRadius="8dp"
android:bottomRightRadius="8dp"
android:topLeftRadius="8dp"
android:topRightRadius="8dp" />
<stroke android:width="1dp" android:color="?color_item_title" />
</shape>
检查这个[问题](http://stackoverflow.com/questions/8630694/theme-dependent-colors-of-selected-widgets) –
虽然你的链接提供了帮助,但更严重的问题出现了,所以我更新了我的文章 –