博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于frameworks下的NumberPicker.java中快速点击△&▽时消失的BUG
阅读量:6533 次
发布时间:2019-06-24

本文共 2777 字,大约阅读时间需要 9 分钟。

hot3.png

先看下我们测试人员提的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;    }

转载于:https://my.oschina.net/u/147508/blog/37152

你可能感兴趣的文章
Osmocom-BB中cell_log的多种使用姿势
查看>>
主库 归档 删除策略
查看>>
linux服务器多网卡bond
查看>>
Chrome 更新策略大变:优先安装 64 位版本
查看>>
《Linux从入门到精通(第2版)》——导读
查看>>
路过下载攻击利用旧版 Android 漏洞安装勒索软件
查看>>
ThinkSNS 六大子版本体验及源码下载
查看>>
《算法基础》——1.5实际因素
查看>>
《Java数字图像处理:编程技巧与应用实践》——第3章 基本Swing UI组件与图像显示 3.1 JPanel组件与BufferedImage对象的显示...
查看>>
为什么有人讨厌 Google 的新 Logo?
查看>>
2022 年 AI 会发展成什么样子,IBM 做出了 5 大预测
查看>>
腾讯2017暑期实习编程题3
查看>>
整理收藏一份PHP高级工程师的笔试题
查看>>
Intellij IDEA 构建Spring Web项目 — 用户登录功能
查看>>
[AHOI2013]作业
查看>>
[bzoj 4241]历史研究
查看>>
git push被忽略的文件 处理
查看>>
C#中用ILMerge将所有引用的DLL打成一个DLL文件
查看>>
PHP生成HTML静态页面
查看>>
spring依赖注入和控制反转
查看>>