我正在尝试设置ActionBar的样式,请参阅此博文:
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
,然后运行“Android”&gt; Eclipse中的“修复项目属性”。我注意到在那个列出样式的答案中链接的repo是在分支主机上,所以我不明白为什么主题不会被解开。
仅仅是为了测试,我将这一大块代码放在我的android-14
定位应用中,减去背景可绘制,并且它会抛出相同的错误。
答案 0 :(得分:8)
根据https://stackoverflow.com/a/7837756/1003511中的链接,有Widget_Holo_Light_ActionBar_TabView
但不是Widget_Holo_Light_ActionBarView_TabView
。自编写该教程以来,资源可能已重命名。它表示自API级别13以来已经包含没有额外“视图”的版本 - 如果教程最初是在11上编写的,则它可能在13中重命名,并且由于您运行14,因此您只能看到重命名的版本。我尝试删除无关的“视图”,看看代码是否运行。
答案 1 :(得分:2)
在指定要查看android样式时,您可能缺少'@'字符:
您还可以仔细检查以查看API文档中是否列出了父样式: http://developer.android.com/reference/android/R.style.html
看起来你的名字可能略有错误。