首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓系统中不同的colorControlActivated样式

安卓系统中不同的colorControlActivated样式
EN

Stack Overflow用户
提问于 2015-05-27 21:30:21
回答 1查看 12.2K关注 0票数 8

这是我的应用主题:

代码语言:javascript
运行
复制
<style name="BaseTheme" parent="Theme.AppCompat.Light">
   ...
   <item name="colorControlActivated">@color/default_orange</item>
   ...
</style>
...
<style name="Switch" parent="Material.Widget.Switch">
   <item name="colorControlActivated">@color/default_green</item>
</style>

如果我使用开关样式:

代码语言:javascript
运行
复制
<com.rey.material.widget.Switch
     style="@style/Switch"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:checked="false"/>

colorControlActivated使用--它是BaseTheme (橙色)中的一个,而不是开关 one (绿色)。

为什么会发生这种情况?对于不同的视图,我不能有不同的colorControlActivated吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-24 12:36:55

主要问题是,活动主题中的属性colorControlActivated在定义和应用于特定视图的任何自定义样式中都优先于该属性。

解决方案是(该解决方案以相同的方式重写相同活动中所有元素的属性),以创建一个新主题并将该主题应用到清单中的活动中。此主题可以继承主主题,并仅覆盖所需的属性。

主题:

代码语言:javascript
运行
复制
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- items-->
    <item name="colorControlActivated">@android:color/white</item>
    <!-- items-->
</style>

<style name="lightAppTheme" parent="AppTheme" >
    <item name="colorControlActivated">@color/colorPrimary</item>
</style>

舱单:

代码语言:javascript
运行
复制
<application
    android:name=".application.appname"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main"
        android:theme="@style/lightAppTheme"
        android:screenOrientation="portrait"></activity>
 </application>

我希望这能帮到任何人,因为我花了几个小时才使它发挥作用。

为了使同一活动中的不同元素使用不同的colorControlActivated分布,请转到此answer

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30493496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档