我正在尝试自定义我的 sherlock 操作栏,但我在 style.xml 中编写的任何代码都未被识别。
在我的清单文件中:
android:theme="@style/Theme.Sherlock"
我的样式.xml:
<resources>
<style name="Theme.MyAppTheme" parent="Theme.Sherlock">
<item name="android:actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item>
</style>
<style name="Theme.MyAppTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
<item name="android:background">#222222</item>
<item name="android:height">64dip</item>
<item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item>
</style>
<style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
<item name="android:textColor">#fff</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">32sp</item>
</style>
我这样调用我的操作栏:
public class MainActivity extends SherlockActivity {
com.actionbarsherlock.app.ActionBar actionbar;
...
actionbar = getSupportActionBar();
... }
显示操作栏没有问题,但同样不显示 style.xml 中编码的任何自定义,有人可以帮助我吗?感恩。
这是因为您在清单文件中应用了相同的原始样式android:theme="@style/Theme.Sherlock"
这没有任何区别。您已准备好带有名称的自定义样式Theme.MyAppTheme
,有父母作为Theme.Sherlock
。因此,您需要在清单文件中声明您的自定义样式(Theme.MyAppTheme),例如android:theme="@style/Theme.MyAppTheme"
。即使你也必须包含没有 android 前缀的属性,如下所示,正如其他回答者也所说的那样。希望这可以帮助。就连你也可以参考一下this https://stackoverflow.com/questions/14104091/is-there-a-way-to-set-actionbar-backgound-by-image-in-android/14104260#14104260 too.
<style name="Theme.MyAppTheme" parent="Theme.Sherlock.Light">
<item name="android:actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item>
<item name="actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item>
</style>
<style name="Theme.MyAppTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
<item name="android:background">#222222</item>
<item name = "background">#222222</item>
<item name="android:height">64dip</item>
<item name="height">64dip</item>
<item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item>
<item name="titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item>
</style>
<style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
<item name="android:textColor">#fff</item>
<item name="textColor">#fff</item>
<item name="android:textStyle">bold</item>
<item name="textStyle">bold</item>
<item name="android:textSize">32sp</item>
<item name="textSize">32sp</item>
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)