三星Galaxy S2 ICS上的Android车轮

时间:2013-02-12 08:28:06

标签: android galaxy android-wheel

在我们的应用程序中,我们使用Android wheel lib。问题在于Galaxy SII。只有当用户触摸它时,轮子才能工作,将手指放在侧面(车轮外),然后向上或向下滚动。有没有这个问题和可能的解决方案?

1 个答案:

答案 0 :(得分:0)

这是kankan android-wheel库的一个bug。在第611行的WheelView.java中,将switch语句更改为以下内容:

switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN: //added to fix problem
    case MotionEvent.ACTION_MOVE:
        if (getParent() != null) {
            getParent().requestDisallowInterceptTouchEvent(true);
    }
    break;

    case MotionEvent.ACTION_UP:
        if (getParent() != null) { //added to fix problem, this may be uneeded
            getParent().requestDisallowInterceptTouchEvent(false);
        }

    if (!isScrollingPerformed) {
        int distance = (int) event.getY() - getHeight() / 2;
        if (distance > 0) {
            distance += getItemHeight() / 2;
        } else {
                distance -= getItemHeight() / 2;
        }
        int items = distance / getItemHeight();
        if (items != 0 && isValidItemIndex(currentItem + items)) {
                notifyClickListenersAboutClick(currentItem + items);
            }
    }
    break;
}