我想在滑动时读取评级栏值以更改文本评级值(差,好等) 我为此使用了 setOnRatingBarChangeListener,但它在用户从栏上松开手指后工作。我也尝试过 onDragListener 但没有成功。
当然,我在 xml 中有 android:isIndicator="false",但没有变化。

是否有任何其他监听器,立即获得评级的代码 - 因为在滑动时正确重绘星星。
提前致谢

罗马

最佳答案

您必须扩展 RatingBar ,覆盖 onTouchEvent() 并检查 MotionEvent.ACTION_MOVE 事件。

public boolean onTouchEvent(MotionEvent event) {
    switch (event.getAction()) {
        case MotionEvent.ACTION_MOVE:
            if (isPressed()) {
                final float x = event.getX();
                final float THRESHOLD = 1.0;
                if (Math.abs(x - prevX) > THRESHOLD) {
                   getProgress(); // Now compare with previous progress
                }
                prevX = x;
            }
    }
}

10-07 12:45