评分控件¶
快速使用¶
<com.ave.vastgui.tools.view.ratingview.RatingView
android:id="@+id/ratingView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
操作模式¶
添加: Version 0.5.3 更新: Version 1.5.2
可以通过 star_touch_mode
或者调用 setStarTouchMode
来设置星星的选中方式,目前支持三种:
- SLIDING:滑动
-
CLICK:点击
点击行为变更
从 0.5.6 版本开始,当选择方式设置为
Click
时,星星的选中数量只能为整数。 -
UNABLE:只能通过代码设置
binding.ratingView.setStarTouchMode(RatingView.Mode.SLIDING)
<com.ave.vastgui.tools.view.ratingview.RatingView
...
app:star_touch_mode="click" />
设置排列方向¶
添加: Version 0.5.3 更新: Version 1.5.2
目前支持两种星星排列方式:
- HORIZONTAL:横向
- VERTICAL:纵向
binding.ratingView.setStarOrientation(RatingView.Orientation.HORIZONTAL)
<com.ave.vastgui.tools.view.ratingview.RatingView
...
app:star_orientation="horizontal" />
设置星星间距¶
可以通过 star_interval_width
或者调用 setStarIntervalWidth
来设置星星的间距。
binding.ratingView.setStarIntervalWidth(10f.DP)
<com.ave.vastgui.tools.view.ratingview.RatingView
...
app:star_interval_width="10dp" />
设置星星图片¶
对于选中的星星图片,可以通过 star_selected
或者调用 setStarSelectedBitmap
来设置。
binding.ratingView.setStarSelectedBitmap(R.drawable.ic_star_normal)
<com.ave.vastgui.tools.view.ratingview.RatingView
...
app:star_selected="@drawable/ic_star_selected" />
对于未选中的星星图片,可以通过 star_unselected
和 setStarUnselectedBitmap
来设置。
binding.ratingView.setStarUnselectedBitmap(R.drawable.ic_star_unselected)
<com.ave.vastgui.tools.view.ratingview.RatingView
...
app:star_unselected="@drawable/ic_star_unselected" />
设置星星图片大小¶
添加: Version 0.5.3
可以通过 star_width
和 star_height
或者调用 setStarBitmapSize
来设置星星的图片大小。
binding.ratingView.setStarBitmapSize(40F.DP, 40F.DP)
<com.ave.vastgui.tools.view.ratingview.RatingView
...
app:star_width="40dp"
app:star_height="40dp" />
设置星星数量¶
可以通过 star_count
或者调用 setStarCountNumber
设置星星数量。
binding.ratingView.setStarCountNumber(4)
<com.ave.vastgui.tools.view.ratingview.RatingView
...
app:star_count="5" />
监听星星数量¶
添加: Version 0.5.6
通过 setOnStarRatingChangeListener
注册监听事件来观察评分的改变。
binding.ratingView.setOnStarRatingChangeListener(object : RatingView.OnStarRatingChangeListener {
override fun onRatingChanged(rating: Float) {
logger.d("当前星星评级为 $rating")
}
})