如何通过更改android中的主题来更改背景颜色?

时间:2019-07-09 09:08:00

标签: android xml android-layout android-theme

当我在android中更改主题时,我想更改背景颜色。有没有办法像XML那样设置背景

android:background="@styles/colorAccent"

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

2 个答案:

答案 0 :(得分:1)

样本布局

 <FrameLayout
    style="@style/colorAccentStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content/>

styles.xml

<resources>

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

更简单的解决方案

<FrameLayout
    android:background="?colorAccent"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

答案 1 :(得分:1)

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

<style name="YourTheme" >
<item name="android:background">@color/yourcolor</item>
</style>

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

最后,您可以通过

应用主题
getTheme().applyStyle(R.style.YourTheme, true);

setContentView之前致电