3

我正在尝试设置 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-11android-14,然后在 Eclipse 中运行“Android”>“修复项目属性”。我确实注意到,在该答案中链接到的 repo 列出了样式,位于分支 master 上,所以我看不出为什么找不到主题。

只是为了测试,我把那段代码放在我的工作android-14目标应用程序中,减去背景可绘制对象,它会引发同样的错误。

4

2 回答 2

8

根据https://stackoverflow.com/a/7837756/1003511中的链接,有一个Widget_Holo_Light_ActionBar_TabView但不是Widget_Holo_Light_ActionBarView_TabView. 自编写该教程以来,资源可能已被重命名。它说从 API 级别 13 开始包含没有额外“视图”的版本 - 如果本教程最初是在 11 上编写的,它可能在 13 中被重命名,并且由于您正在运行 14,因此您只能看到重命名的版本。我会尝试删除无关的“视图”并查看代码是否运行。

于 2012-05-22T19:55:04.777 回答
2

在指定要查看 android 样式时,您可能会缺少一个“@”字符:

您还可以仔细检查此处的 API 文档中是否列出了父样式:http: //developer.android.com/reference/android/R.style.html

看起来你的名字可能有点错误。

于 2012-05-22T19:59:01.400 回答