2014-01-14 4 views
10

RatingBarの星の色を変更するために、いくつかの投稿(例:Android RatingBar change star colorsChange the color of the stars in the rating bar where the rating bar is created dynamically in android、) 。投稿をフォローして、カスタムRatingBarの星を変更することができましたが、これでは値を半分よりも小さい小数(たとえば0.2)に設定することができなくなりました。それは常に半分(例えば0.5)として現れる。値を半分(例えば0.7)以上に設定すると、完全に表示されます。Android RatingBarのカスタムスターを使用するときは、常に小数点以下の半分の値を0.5未満で表示します。

次には、以下がXMLである私は私のカスタムRatingBarのために使用していたサンプル画像(すなわちratingbar_empty.png、ratingbar_half.png、ratingbar_full.png)

Empty Star Half Star Full Star

ですカスタム星(ratingbar_custom.xml)を使用します。

私のレイアウトでカスタムRatingBarを使用する方法は次のとおりです。

<RatingBar 
    android:id="@+id/rb_rating" 
    android:numStars="7" 
    android:rating="0"  
    android:stepSize="0.01"      
    android:isIndicator="true"                
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:progressDrawable="@drawable/ratingbar_custom" /> 

Iは、次に一緒にすべてを入れて、0.2であることがRatingBarの値を設定すると、以下に示すように、それは、視覚的に0.5にRatingBarを設定します。なぜこれが起きているのか、何が間違っているのか、誰にでも分かっていますか?どんな助けでも大歓迎です。おかげ

Setting custom RatingBar to 0.2, but visually showing 0.5

+0

は次のようにやってみては? – Luksprog

+0

こんにちは@Luksprog、ご意見ありがとうございます。はい、それもやってみましたが、それはまだ同じです。ちょうど私が半分以下の値を設定したときに起こっていることはかなり奇妙なのですか? –

+0

カスタムカラーをデフォルトの評価バーに設定するには https://stackoverflow.com/questions/2446270/android-ratingbar-change-star-colors/29853214#29853214 – Arshad

答えて

21

あなたはstar_halfは必要ありません。あなたは0.1` `のように、大きなステップサイズを使用してみましたの

<?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_none" /> 
    <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/star_none" /> 
    <item android:id="@android:id/progress" android:drawable="@drawable/star_fill" /> 
</layer-list> 
+0

ありがとうございます。私は結局それを見つけた、私はこれを更新したと思った。しかし、大変感謝しています。 –

関連する問題