如何在android中使用实时更新制作评级栏?

时间:2011-09-13 19:30:04

标签: android

Android doc said

  

public abstract void onRatingChanged(RatingBar ratingBar,float   rating,boolean fromUser)

     

自:API级别1通知评级已更改。客户端   可以使用fromUser参数来区分用户启动的更改   从那些以编程方式发生的。这不会被调用   用户拖动时连续,仅在用户完成时   通过触摸来评分。

如何建立一个可以在用户拖动时更新的评级栏?

我也发现ratingBar不是很可定制的。更改图像的方法是提及的here 有没有开源的? 谢谢

4 个答案:

答案 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的扩展,增加了一个可拖动的拇指”