找不到与给定名称匹配的资源' @ style / Widget.RatingBar.Small'

时间:2014-06-18 13:04:48

标签: android android-custom-view

我想使用自定义评级栏。我完成了这里所说的所有步骤:http://android-helper.blogspot.com/2011/06/android-custom-ratingbar-example.html

唯一的问题是:

No resource found that matches the given name '@style/Widget.RatingBar.Small'.

我搜索过,有些人说谷歌限制它,不再允许访问此文件。我试图从android sdk复制样式,但它不是单个文件,它指的是其他一些drawable,我也需要包含它们。

有没有解决这个问题?我该如何使用这个小部件?我需要它小。

感谢

2 个答案:

答案 0 :(得分:3)

您需要为自定义评级栏创建自定义样式。您可以尝试这种风格。

  <resources>
<style name="AppTheme" parent="android:Theme.Light" />
<style name="foodRatingBar" parent="@android:style/Widget.RatingBar">
    <item name="android:progressDrawable">@drawable/star_rating_bar_full</item>
    <item name="android:minHeight">48dip</item>
    <item name="android:maxHeight">48dip</item>
</style>
</resources>

,你的xml布局就是这样。

      <RatingBar
            android:id="@+id/ratingbar_default"
            style="@style/foodRatingBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="20dp"
            android:numStars="5" />
在代码中

,使用setOnratingbarchangelistener

        ratingBar_default
            .setOnRatingBarChangeListener(new  RatingBar.OnRatingBarChangeListener() {
                @Override
                public void onRatingChanged(RatingBar ratingBar,
                        float rating, boolean fromUser) {
                    // TODO Auto-generated method stub
                    ratingValue = String.valueOf(rating);
                    System.out.println(ratingValue);

                }
            });

希望这会对你有所帮助。

答案 1 :(得分:2)

你可以改用它。

@style/Widget.Holo.RatingBar.Small