IntelliJ ActionBar 样式 - 找不到资源

IntelliJ ActionBar styling - resource not found

在我的应用程序中,我最终决定摆脱 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 可以通过 "Go to > declaration" 选项找到这个资源。知道如何解决这个错误吗?提前致谢。

看来 @android:style/Widget.Holo.Spinner.DropDown.ActionBar 是私有的,我不能在继承中使用它。显示的错误有点误导——它告诉我们根本找不到资源。我找到了这种风格的最后一个 public 祖先并用所需的信息填充它,所以解决方案如下所示:

<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>

确实很简单,但是比较难找。