Я использую 2 FrameLayout, у них есть EditText, если я нажму на editText, который находится в нижней части макета, можно увидеть над softKeyboard, но если я нажму на editBox, frameLayout которого выше другое место FrameLayout не изменяется и не помещается за клавиатуру, а frameLayout, который внизу, снова меняет свое место, и он отображается над мягкой клавиатурой.Положите EditText над мягкой клавиатурой
Я попытался,
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 !");
}
}
});
но если я нажимаю скрыть программную кнопку клавиатуры на экране curser все еще находится на EditBox, что я использовал. Это проблема из-за FrameLayout? Не то, что я должен сделать, чтобы решить эту проблему.