2015-02-09 62 views
0

在我的应用程序中,我终于决定摆脱ActionBarSherlock。为了做到这一点,我不得不解决一些我的风格。当编译这样的风格的应用程序:IntelliJ 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.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可以通过“转到>声明”选项找到这个资源。任何想法如何解决这个错误?提前致谢。

+0

你的构建目标是什么? 11或13? – 2015-02-09 12:18:22

+0

minSdkVersion是14,目标20. – Seblis 2015-02-09 12:20:04

+0

如果这个链接的解决方案是你的答案,告诉我,把它作为答案: http://stackoverflow.com/questions/13726018/adding-holo-theme-to-2 -3-6-error-using-holoeverywhere – 2015-02-09 12:23:39

回答

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> 

这真的很简单,但相对难找。