Android滚动使整个屏幕变为蓝色

时间:2018-04-11 20:30:06

标签: android scroll highlight

我无法复制此内容,但有人知道可能会导致Android设备上的整个屏幕变为淡蓝色吗?这似乎与选择单选按钮然后滚动有关。它发生在使用Android 8的Nexus 5x上。

这是它的样子:

enter image description here

我只听说过另外一例这种情况。它可能是特定于设备的吗?奇怪的是,一旦它发生,它似乎保持这种状态,尽管用户说这有点间歇性。

更新

这似乎只发生在Android 8上,如果这有助于任何人......

1 个答案:

答案 0 :(得分:0)

所以,我最终发现了有问题的代码。我确认这只发生在Android 8设备上,也许只有三星?违规代码是:

    mFormScrollView.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
        mFormScrollView.setFocusable(true);
        mFormScrollView.setFocusableInTouchMode(true);
        // Hide the keyboard when moving the screen up or down. This should only
        // be an issue when
        // on a text edit field. Also disable focus jump using
        // "requestFocusFromTouch"
        mFormScrollView.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View view, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_DOWN) {
                    Utilities.hideKeyBoard(FormActivity.this, view);
                }
                // Keeps screen from jumping to nearest EditText
 //               view.requestFocusFromTouch();
                return false;
            }
        });

违规行被注释掉了 - view.requestFocusFromTouch()方法,这意味着当键盘被隐藏并且焦点丢失时,屏幕不会自动跳转到下一个文本字段。在Android 8上没有发生这种情况,但我需要验证旧版本。