我正在使用 2 FrameLayout 两者都有 EditText,如果我单击位于布局底部的 editText 可以在 softKeyboard 上方看到,但是如果我单击 frameLayout 在另一个 FrameLayout 上方的 editBox 位置不会改变并放在后面键盘和底部的 frameLayout 再次改变位置,显示在软键盘上方。
我试过,
mMessageBox.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
Commons.logCatchya("onFocusListener changed !");
if (hasFocus) {
Commons.logCatchya("onFocusListener hasFocus !");
}
else {
Commons.logCatchya("onFocusListener do not hav focus !");
}
}
});
mMessageBox.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
Commons.logCatchya("setOnKeyListener :" + event.getAction() + " keyCode :" + keyCode);
return false;
}
});
mProfileStatusBox.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
Commons.logCatchya("onFocusListener mProfileStatusBox changed !");
if (hasFocus) {
Commons.logCatchya("onFocusListener mProfileStatusBox hasFocus !");
}
else {
Commons.logCatchya("onFocusListener mProfileStatusBox do not hav focus !");
}
}
});
但是如果我点击屏幕上的隐藏软键盘按钮,光标仍然在我使用的编辑框中。这个问题是因为 FrameLayout 吗?如果不是我应该怎么做来解决这个问题。