我在我的一项活动中设置个别观点的主题时遇到了问题。
在我的清单中的应用程序标签中设置主题非常有效,就像在清单中的活动标签中设置主题一样。
无论我是否在清单中设置了主题,如果我尝试在单个视图上设置主题:
<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中使用此样式,它仍然不会显示正确的样式。
答案 0 :(得分:0)
没有为视图定义android:theme
xml属性。您可以使用style
xml属性,但必须引用视图的样式而不是整个主题。
像这样使用它:
<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>