先看下我们测试人员提的bug票:
[MR1][Settings]The up&down icon(△&▽) disappear in the "Set date/time" screen
Change-Id: Ia5e914cd905d27baeccfa7d30b9f6eac9e00b041
TracID: 565 DESC: Press the up&down icon(△&▽) quickly (Use two fingers),The up&down icon(△&▽) disappear. Analysis: Press up&down icon(△&▽) have a time interval,so you shouldn't be interrupt. Solution: remove qbja2/frameworks/base/core/java/android/widget/NumberPicker.java "mShowInputControlsAnimator.cancel();" NeedToVerify: 1 NeedToVerify: 1 CleanBuild:0修改代码如下:
@Override public boolean onInterceptTouchEvent(MotionEvent event) { if (!isEnabled() || !mFlingable) { return false; } switch (event.getActionMasked()) { case MotionEvent.ACTION_DOWN: mLastMotionEventY = mLastDownEventY = event.getY(); removeAllCallbacks(); //mShowInputControlsAnimator.cancel(); 这里注释掉就解决了 mBeginEditOnUpEvent = false; mAdjustScrollerOnUpEvent = true; if (mDrawSelectorWheel) { boolean scrollersFinished = mFlingScroller.isFinished() && mAdjustScroller.isFinished(); if (!scrollersFinished) { mFlingScroller.forceFinished(true); mAdjustScroller.forceFinished(true); onScrollStateChange(OnScrollListener.SCROLL_STATE_IDLE); } mBeginEditOnUpEvent = scrollersFinished; mAdjustScrollerOnUpEvent = true; hideInputControls(); return true; } if (isEventInViewHitRect(event, mInputText) || (!mIncrementButton.isShown() && isEventInViewHitRect(event, mIncrementButton)) || (!mDecrementButton.isShown() && isEventInViewHitRect(event, mDecrementButton))) { mAdjustScrollerOnUpEvent = false; setDrawSelectorWheel(true); hideInputControls(); return true; } break; case MotionEvent.ACTION_MOVE: float currentMoveY = event.getY(); int deltaDownY = (int) Math.abs(currentMoveY - mLastDownEventY); if (deltaDownY > mTouchSlop) { mBeginEditOnUpEvent = false; onScrollStateChange(OnScrollListener.SCROLL_STATE_TOUCH_SCROLL); setDrawSelectorWheel(true); hideInputControls(); return true; } break; } return false; }
| |||||