Android doc said
public abstract void onRatingChanged(RatingBar ratingBar,float rating,boolean fromUser)
自:API级别1通知评级已更改。客户端 可以使用fromUser参数来区分用户启动的更改 从那些以编程方式发生的。这不会被调用 用户拖动时连续,仅在用户完成时 通过触摸来评分。
如何建立一个可以在用户拖动时更新的评级栏?
我也发现ratingBar不是很可定制的。更改图像的方法是提及的here 有没有开源的? 谢谢
答案 0 :(得分:2)
这对我有用,我认为这是最简单的方法: 在ratingBar上设置一个onTouchListener,这样在任何事件上,向下,向上和向上可以广播评级(ratingBar.getRating()将获得实时值)到你想用它做什么。
答案 1 :(得分:1)
您必须设置属性android:isIndicator=false
。这将允许用户通过拖动更改评级栏。
答案 2 :(得分:1)
这是一个非常简单的解决方案
ratingBar.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
float rating = ratingBar.getRating();
//todo: do stuff with 'rating' value
//...
return ratingBar.onTouchEvent(event);
}
});
答案 3 :(得分:0)
也许你应该使用SeekBar? “SeekBar是ProgressBar的扩展,增加了一个可拖动的拇指”