当我在android中更改主题时,我想更改背景颜色。有没有办法像XML那样设置背景
android:background="@styles/colorAccent"
因此,当我更改主题时,背景颜色会自动更改为相应主题的colorAccent。任何其他方法也有帮助。
答案 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
之前致电