1. 程式人生 > >自定義Ratingbar,星星“流淚了”解決辦法

自定義Ratingbar,星星“流淚了”解決辦法

一,xml


  <RatingBar
                android:id="@+id/ratingBar_evaluation"
                style="@style/roomRatingBar"<!--自定義樣式,主要效果-->
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="4dip"
                android:isIndicator="true"
                android:rating="5"<!--設定選中的數量為5-->
                android:numStars="5" /><!--設定顯示的星星數量為5-->


二,style
 <style name="roomRatingBar" parent="@android:style/Widget.RatingBar">
        <item name="android:progressDrawable">@drawable/room_rating_bar</item>
        <item name="android:minHeight">17dip</item>
        <item name="android:maxHeight">17dip</item>
        <item name="android:indeterminateOnly">false</item>
        <item name="android:indeterminateDrawable">@drawable/room_rating_bar</item>
        <item name="android:thumb">@null</item>
        <item name="android:isIndicator">true</item>
    </style>


三,room_rating_bar


<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">


    <item
        android:id="@+android:id/background"
        android:drawable="@drawable/star"></item>


    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/star"></item>
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/starpingj"></item>
</layer-list>


四,會流淚解決辦法


使用不同解析度的圖片,每個解析度裡面放對應解析度的圖片。