Android动态添加的视图不会使用样式

时间:2016-03-09 11:30:05

标签: java android themes

我花了最后一天搞清楚我的错误,但我找不到它...... 我有一个没有任何内容的活动,稍后会动态加载。

清单看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.marcel.recipes">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".emptyActivity" />
    </application>

</manifest>

虽然我的mainActivity使用了所有想要的颜色,但我的emptyActivity忽略了它们。 该活动包含复选框和TextView,两者都有文本颜色#000000,复选框在我单击时获得颜色#80CBC4。

当我使用设计器添加视图时,颜色按需要加载,但不是动态添加的颜色。

1 个答案:

答案 0 :(得分:1)

在xml布局上定义的视图可以使用你的自定义样式是因为当系统为你的布局xml充气时,它会提取这个值并将它们应用于你的视图,但是当你创建视图时动态使用java代码它不会,所以你应该使用java代码在样式文件中提取这个值,并为你的视图设置这个值。