首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android样式未正确覆盖

Android样式未正确覆盖
EN

Stack Overflow用户
提问于 2019-02-21 03:36:18
回答 2查看 190关注 0票数 0

我正在尝试在我的Android应用程序中设置主题,但是样式标签继承似乎不能正常工作。应用程序使用的是赋予父级的值,而不是子级。

我在values/styles.xml中有以下内容

代码语言:javascript
复制
<style name="AppTheme" parent="BaseAppTheme">
    <item name="colorAccent">@color/blue</item>
</style>

<style name="BaseAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorAccent">@color/green</item>
</style>

我在这里应用主题:

MainActivity.java

代码语言:javascript
复制
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setTheme(R.style.AppTheme);
    ...
}

我期望使用colorAccent标记的元素显示为蓝色,但它们显示为绿色。应用程序中没有任何其他内容直接引用样式标记BaseAppTheme。

EN

回答 2

Stack Overflow用户

发布于 2019-02-21 03:44:41

应该在调用onCreated之前创建主题。如以下代码所示

代码语言:javascript
复制
@Override
public void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.AppTheme);
    super.onCreate(savedInstanceState);


    ...
}
票数 0
EN

Stack Overflow用户

发布于 2021-01-14 23:19:52

在我的例子中,问题是我在values中重写了AppTheme,在我的风格中重写了style.xml。但在我执行应用程序的设备上,Android版本比API26更高。

那是什么?在values中已经有了一个AppTheme -v26> style.xml。所以我只需要创建一个values-v26 > style.xml,在我的风格的res中包含AppTheme,仅此而已。

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

https://stackoverflow.com/questions/54794027

复制
相关文章

相似问题

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