Dành cho độc giả tương lai.
Tôi muốn kiểm soát cụ thể vấn đề này, vì vậy đây là những gì tôi đã làm:
Từ một đoạn hoặc hoạt động, ẩn các chế độ xem khác của bạn (không cần thiết trong khi bàn phím lên), sau đó khôi phục chúng để giải quyết vấn đề này:
rootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
rootView.getWindowVisibleDisplayFrame(r);
int heightDiff = rootView.getRootView().getHeight() - (r.bottom - r.top);
if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
//ok now we know the keyboard is up...
view_one.setVisibility(View.GONE);
view_two.setVisibility(View.GONE);
}else{
//ok now we know the keyboard is down...
view_one.setVisibility(View.VISIBLE);
view_two.setVisibility(View.VISIBLE);
}
}
});