我正在使用2个FrameLayout,其中都有EditText,如果我单击在softKeyboard上方可以看到布局底部的editText但是如果我单击editBox哪个frameLayout在其他FrameLayout之上,则不会改变并放在键盘后面,底部的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吗?我不应该怎么做才能解决这个问题。
答案 0 :(得分:1)
在活动
中为您的活动代码设置此项android:configChanges="keyboardHidden|orientation"
如果它不起作用,请尝试在ScrollView中设置父布局
答案 1 :(得分:1)
我确定您正在使用LinearLayout
将其width
和height
设置为full_parent
。
不要这样做,请使用RelativeLayout
而不是将height
设置为:
android:layout_height="wrap_content"
答案 2 :(得分:1)
我使用RelativeLayout
并使用
android:gravity="bottom"
布局文件中的。