1

在我的一项活动中,我无法为个人视图设置主题。

在我的清单中的应用程序标签中设置主题非常有效,在清单中的活动标签中设置主题也是如此。

无论我是否在清单中设置了主题,如果我尝试在单个视图上设置主题:

<TextView
        android:id="@+id/userFullNameTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="5dp"
        android:layout_toRightOf="@+id/profileImageView"
        android:text="Bobby Joe"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:theme="@style/Theme.Sherlock.Light" />

视图始终以默认主题(清单中未设置任何内容)或清单中指定的相同主题出现。

我没有在我的 xml 文件中的任何地方覆盖 Theme.Sherlock.Light 主题。我尝试了几种不同的主题组合,但无济于事。哦,我显然在使用 ActionBarSherlock。

编辑

如果我创建一个新样式:

<style name="SideMenuStyle" parent="Theme.Sherlock.Light" >
</style>

并在我的 xml 中使用这种样式,它仍然没有显示正确的样式。

4

1 回答 1

0

没有android:theme为视图定义 xml 属性。您可以改用stylexml 属性,但您必须引用视图的样式而不是整个主题。像这样使用它:

<TextView
    android:id="@+id/userFullNameTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginTop="5dp"
    android:layout_toRightOf="@+id/profileImageView"
    android:text="Bobby Joe"
    android:textAppearance="?android:attr/textAppearanceMedium"
    style="@style/MyTextViewStyle" />

请注意,您还可以为主题TextView范围内的所有实例或任何其他小部件定义默认主题。因为TextView这意味着android:textViewStyle在主题中定义:

<style name="MyTheme" parent="@style/Theme.Sherlock">
    <item name="android:textViewStyle">@style/MyTextViewStyle</item>
</style>
于 2013-01-25T13:06:11.147 回答