首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在android中通过改变主题来改变背景颜色?

如何在android中通过改变主题来改变背景颜色?
EN

Stack Overflow用户
提问于 2019-07-09 17:08:01
回答 2查看 1.4K关注 0票数 2

当我在android中改变主题时,我想改变背景颜色。有没有一种在XML中设置背景的方法,比如

代码语言:javascript
代码运行次数:0
运行
复制
android:background="@styles/colorAccent"

因此,当我更改主题时,背景颜色会自动更改为相应主题的colorAccent。任何替代方法也会有所帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-09 17:19:20

样例布局

代码语言:javascript
代码运行次数:0
运行
复制
 <FrameLayout
    style="@style/colorAccentStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content/>

styles.xml

代码语言:javascript
代码运行次数:0
运行
复制
<resources>

<style name="colorAccentStyle">
    <item name="android:background">?colorAccent</item>
</style>

更简单的解决方案

代码语言:javascript
代码运行次数:0
运行
复制
<FrameLayout
    android:background="?colorAccent"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
票数 3
EN

Stack Overflow用户

发布于 2019-07-09 17:43:43

使用此属性创建不同的主题

代码语言:javascript
代码运行次数:0
运行
复制
<style name="YourTheme" >
<item name="android:background">@color/yourcolor</item>
</style>

这将应用于没有手动设置背景的视图。

最后,您可以通过以下方式应用主题

代码语言:javascript
代码运行次数:0
运行
复制
getTheme().applyStyle(R.style.YourTheme, true);

setContentView之前调用此函数

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

https://stackoverflow.com/questions/56949059

复制
相关文章

相似问题

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