我无法复制此内容,但有人知道可能会导致Android设备上的整个屏幕变为淡蓝色吗?这似乎与选择单选按钮然后滚动有关。它发生在使用Android 8的Nexus 5x上。
这是它的样子:
我只听说过另外一例这种情况。它可能是特定于设备的吗?奇怪的是,一旦它发生,它似乎保持这种状态,尽管用户说这有点间歇性。
更新
这似乎只发生在Android 8上,如果这有助于任何人......
答案 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上没有发生这种情况,但我需要验证旧版本。