rac*_*wen 3 keyboard android android-layout
我已经看到很多关于软键盘显示/隐藏监听器解决方案的问题.
我认为这个解决方案很棒.但实际上它不起作用.太糟糕了. 在android中听取键盘显示或隐藏事件
最后,我使用了这个解决方案.但我认为这个解决方案只是一个临时解决方案.我们不知道200dp正确代表软键盘. 如何检查Android中软件键盘的可见性?
当软键盘显示时,我希望EditText和Textview下面的EditText都位于软键盘的顶部.而且我希望EditText和TextView(Parent布局是LinearLayout)并不总是对齐父底部,所以... android:windowSoftInputMode ="adjustresize"是不合适的.
我认为adjustPan很棒但是当EditText处于焦点时它只让EditText在顶部.我希望它们都在顶部.T_T帮助我!非常感谢.
要知道键盘是隐藏还是可见,我使用以下代码:
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
view.getWindowVisibleDisplayFrame(r);
if (view.getRootView().getHeight() - (r.bottom - r.top) > 500) { // if more than 100 pixels, its probably a keyboard...
onKeyboardShow();
} else {
onKeyboardHidden();
}
}
});
Run Code Online (Sandbox Code Playgroud)
onKeyboardShow&onKeyboardHidden函数是我自己的函数,然后执行所需的操作.