android- ADT 18.0款式

时间:2012-06-04 05:06:18

标签: android adt

以前我用的是ADT10.0。在这个版本中,我没有收到任何关于样式的错误。在我将ADT更新到18.0之后。现在我收到了以下错误。

  

错误:检索项目的父项时出错:找不到与给定名称“@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>

1 个答案:

答案 0 :(得分:4)

根据android.R.style文档,没有Widget.RatingBar.Small样式(更长),这似乎是Eclipse为您提供错误的原因。

比较styles.xml文件,例如API等级7和15看起来风格不再公开。如果我尝试在Eclipse中引用它,我实际上会收到一条确认此

的错误消息
  

错误:资源不公开。 ('style'的值为'@ android:style / Widget.RatingBar.Small')。

据我所知,您有几种选择:

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