我正在尝试设置操作栏的样式,遵循这篇博客文章:
http://android-developers.blogspot.com/2011/04/customizing-action-bar.html
使用此源代码:
svn checkout http://styled-action-bar.googlecode.com/svn/trunk/ styled-action-bar-read-only
但是,我在/res/values/styles.xml
遇到了问题。
这:
<!-- style for the tabs -->
<style name="MyActionBarTabStyle" parent="android:style/Widget.Holo.Light.ActionBarView_TabView">
<item name="android:background">@drawable/actionbar_tab_bg</item>
<item name="android:paddingLeft">32dp</item>
<item name="android:paddingRight">32dp</item>
</style>
出现以下错误:
Error retrieving parent for item: No resource found that matches the given name 'android:style/Widget.Holo.Light.ActionBarView_TabView'.
但是,使用以下答案,并挖掘Android的源代码,我可以看到该主题确实存在:
https://stackoverflow.com/a/7149389/420001
我在项目中唯一改变的是将其从android-11
移动到android-14
,然后在Eclipse中运行"Android">"修复项目属性"。我确实注意到该答案中链接到的列出样式的存储库位于分支主服务器上,所以我不明白为什么找不到主题。
只是为了测试,我将那段代码放在我的工作android-14
定位应用程序中,减去背景可绘制对象,它会抛出相同的错误。
根据 https://stackoverflow.com/a/7837756/1003511 中的链接,有一个Widget_Holo_Light_ActionBar_TabView
但没有Widget_Holo_Light_ActionBarView_TabView
。自编写该教程以来,资源可能已重命名。它说自 API 级别 13 以来,已经包含没有额外"视图"的版本 - 如果教程最初是在 11 上编写的,那么它可能在 13 中重命名,并且由于您运行的是 14,您只能看到重命名的版本。我会尝试删除无关的"视图",看看代码是否运行。
在指定要查看 android 样式时,您可能缺少"@"字符:
您还可以在此处仔细检查父样式是否列在 API 文档中:http://developer.android.com/reference/android/R.style.html
看起来你的名字可能有点错误。