1

假设我有多个用于主题的styles.xml 文件(当然名称不同)。是否可以选择应用程序应该从哪个文件中提取?

白色款式:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <style name="mybutton">
        <item name="android:layout_width">45dp</item>
        <item name="android:layout_height">fill_parent</item>
        <item name="android:textColor">#202020</item>
        <item name="android:textSize">20dp</item>
        <item name="android:textStyle">bold</item>
        <item name="android:background">@drawable/white_btnbg</item>
    </style>

...

黑色风格:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <style name="mybutton">
        <item name="android:layout_width">45dp</item>
        <item name="android:layout_height">fill_parent</item>
        <item name="android:textColor">#FFFFFF</item>
        <item name="android:textSize">20dp</item>
        <item name="android:textStyle">bold</item>
        <item name="android:background">@drawable/black_btnbg</item>
    </style>

...

因此,在我的布局 xml 中,我的所有按钮样式都将设置为“mybutton”,并且根据用户选择的主题,它将从协调文件中提取。由于无法在运行时更改视图的样式,是否可以这样做?还是有更好的方法(我确定有)来改变风格?

4

1 回答 1

0

使用具有不同名称的多种样式。然后您可以以编程方式设置背景:

Button b = new Button(this);
b.setBackgroundResource(R.drawable.blabla);
于 2012-02-18T22:52:05.063 回答