2012-06-04 39 views
3

以前我使用的ADT10.0。在这个版本中,我没有得到关于样式的任何错误。在我将ADT更新为18.0后。现在我得到了以下错误。android- ADT 18.0风格

error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Widget.RatingBar.Small'.

我该如何解决这个问题?我看到某个地方解决这个导入的样式使用http://source.android.com/source/downloading.html但它不可理解请任何机构可以帮助我吗?

<style name="reviewRatingBar1" parent="@android:style/Widget.RatingBar.Small" > 

    <item name="android:progressDrawable">@drawable/review_rating_bar_full</item> 
    <item name="android:minHeight">13dip</item> 
    <item name="android:maxHeight">13dip</item> 
</style> 

回答

4

按照android.R.style文件不存在Widget.RatingBar.Small风格(再),这似乎可以解释为什么Eclipse是给你的错误的原因。

从例如比较styles.xml文件API级别7和15看来,该风格不再公开了。如果我尝试引用它在Eclipse中,我实际上得到的是证实了这一点

Error: Resource is not public. (at 'style' with value '@android:style/Widget.RatingBar.Small').

据我所知,有几个选项的错误消息你在这里:

  1. 做的@havexz建议并复制原始样式和参考资源。不幸的是,这会让你的明星在每台设备上都有一个固定的外观。换句话说,您无法使用例如基于主题的资源。该设备的制造商和明星看起来与用户习惯的不同。
  2. 参考style="?android:attr/ratingBarStyleSmall"在声明RatingBar。但是,您可以不从这种基于主题的风格继承,所以对默认“小”风格的任何自定义都必须复制到所有其他小型评级栏。
  3. 如果你的目标蜂窝或以上的设备,您可以参考Widget.Holo.RatingBar.SmallWidget.Holo.Light.RatingBar.Small。您可能会针对其中一种设计您的应用,因此您会在设计时知道要继承哪种风格。
  4. 看样子你限制小RatingBar高度进一步降低,无论如何,所以你可以逃脱从正规RatingBar风格只是继承?
+0

在我的情况2点工作。 – naresh