在我的应用程序中,我最终决定摆脱ActionBarSherlock。为了做到这一点,我必须修复我的一些风格。使用以下样式编译应用程序时:
<style name="Theme.MyApp" parent="@android:style/Theme.Holo">
<item name="android:actionDropDownStyle">@style/MyAppDropDownStyle</item>
</style>
<style name="MyAppDropDownStyle" parent="@android:style/Widget.Holo.Spinner.DropDown.ActionBar">
<item name="android:popupBackground">@color/my_color</item>
</style>
IntelliJ Idea抛出错误Error:(50, -1) android-apt-compiler: [MyApp] C:\SLI\Repo\Android\MyApp\res\values\themes.xml:50: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Widget.Holo.Spinner.DropDown.ActionBar'.
。 IntelliJ可以通过“转到&gt;声明”选项找到此资源。知道如何修复此错误吗?提前谢谢。
答案 0 :(得分:0)
@android:style/Widget.Holo.Spinner.DropDown.ActionBar
显示为私有,我无法在继承中使用它。显示的错误有点误导 - 它告诉资源根本没有找到。我找到了这种风格的最后一个公共祖先,并用必要的信息填充它,所以解决方案看起来像这样:
<style name="Theme.MyApp" parent="@android:style/Theme.Holo">
<item name="android:actionDropDownStyle">@style/MyAppDropDownStyle</item>
</style>
<style name="MyAppDropDownStyle" parent="@android:style/Widget.Holo.Spinner">
<item name="android:popupBackground">@color/my_color</item>
</style>
这很简单,但相对难以找到。