有些時候,我們會需要像評分一樣的元件
比如說 show 出今天幸運度、電影幾顆星…之類的
通常我們會使用 android.widget.RatingBar
這可以解決大部份的基本需求
但如果我們是要更多動畫
或是更多客製的需求就會有點不夠用了
剛好公司的專案中需要
所以我就寫了一個 Library 提供給大家
Sample 如下:
原碼點此進入:https://github.com/WillysFish/AnimationRatingBar
使用方式很簡單
直接放在想要的地方就可以了,如下
<studio.zewei.willy.animationratingbar.AnimationRatingBar
android:id="@+id/rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:iconAnimationMode="rotation"
app:iconSize="18dp"
app:iconSpacingEnd="3.5dp"
app:iconSpacingStart="3.5dp"
app:iconSpacingTop="3dp"
app:iconSpacingBottom="3dp"
app:rating="2.5"
app:emptyIcon="@drawable/ic_hart_none"
app:halfIcon="@drawable/ic_hart_all"
app:filledIcon="@drawable/ic_hart_all"
app:iconAnimationSpeed="1"
app:isIndicatorBar="true"
app:numStars="5" />
那麼這些自訂參數是什麼意思呢?
numStarts
我們 icon 的數量
rating
分數多少,這邊要注意
如果分數是從 API 或是其他資料來的話,這邊請設為 0, 或是不設定
isIndicatorBar
true 的話就是不可點擊,只用來顯示
iconSize / emptyIcon / filledIcon / halfIcon
自訂喜歡的 icon
設定 icon 大小,與空值、填值與半值
有些分數可能都是整數
這時候不需要 0.5 的 icon 可以設定成和 empty or filled 一樣
iconSpacingEnd / iconSpacingStart / iconSpacingTop / iconSpacingBottom
設定 icon 的上下左右間距
iconAnimationSpeed
設定 icon 動畫的播放速度
iconAnimationMode
可以取消動畫,或是選擇一個喜歡的動畫
想知道更多功能的話
Library 使用方法:
在 root build.gradle 加入
allprojects {
repositories {
。。。
maven { url 'https://jitpack.io' }
}
}
然後 implementation
implementation 'com.github.WillysFish:AnimationRatingBar:1.0.0'
參考資料:
https://github.com/WillysFish/AnimationRatingBar
留言列表