android - 滑动时获取 RatingBar 值

标签 android ratingbar

我想在滑动时读取评级栏值以更改文本评级值(差,好等)我为此使用 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;
            }
    }
}

关于android - 滑动时获取 RatingBar 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13703423/

相关文章:

Android 评分栏 : Cannot fill in a partial ratingBar if I customise it's color

android - 具有自定义样式的评分栏显示不良图像

android - 在android中使用日历时将一周的第一天设置为星期一后,星期一的日期不正确

android - Intent 发送短信不再适用于 Android 11

android - OutOfMemory 异常 Android VectorBitmap

android - 将私钥嵌入到 Android 中的应用程序代码中

android - 无法在 Android 的简单适配器中设置评级栏

java - R.id.container 未解析

android - 来自 ArrayAdapter 的 OnRatingBarChangeListener

android - ClassCastException:android.support.v4.graphics.drawable.DrawableWrapperHoneycomb 无法转换为 android.graphics.drawable.LayerDrawable