2017-06-21 45 views
0

我有我的評價吧如何設置自定義初始的RatingBar進步繪項目

<RatingBar 
    android:id="@+id/ratingBar" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:isIndicator="true" 
    android:numStars="10" 
    style="@style/myRatingBar" 
/> 

這是我的風格myRatingBar

<style name="myRatingBar" parent="@android:style/Widget.RatingBar"> 
    <item name="android:progressDrawable">@drawable/custom_star_full</item> 
    <item name="android:indeterminateDrawable">@drawable/custom_star_empty</item> 
</style> 

在我的代碼,我宣佈全星的數量來分配評級酒吧

int currentRating = 6; 
mRatingbar.setRating(currentRating); 

但是,我所有的自定義星星似乎已滿。

我只是想要其中6個已滿。

任何幫助?

謝謝

+0

見我的回答兄弟。 –

+0

評級bar.setRating()從未使用過整型值。你只需要使用floatvalue,所以你需要將int值解析爲float。 –

回答

1

試試這個。

<style name="webinarRatingBar" parent="@android:style/Widget.RatingBar"> 
    <item name="android:progressDrawable">@drawable/rating_bar_myfeedback</item> 
    <item name="android:stepSize">1</item> 
    <item name="android:numStars">6</item> 
</style> 

現在,對於rating_bar_my_feedback.xml在drawable文件夾內創建一個文件。

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

// image of your unfill star 
<item 
    android:id="@android:id/background" 
    android:drawable="@drawable/unfill_star" /> 

// image of your fill star 
<item 
    android:id="@android:id/progress" 
    android:drawable="@drawable/fill_star" /> 

相關問題