1

我正在使用 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 吗?如果不是我应该怎么做来解决这个问题。

4

3 回答 3

2

RelativeLayout我通过使用和使用解决了这个问题

android:gravity="bottom"

在布局文件中。

于 2013-03-28T10:30:24.257 回答
1

在您的活动中为您的活动标签设置此项

android:configChanges="keyboardHidden|orientation"

如果它对您不起作用,请尝试在 ScrollView 中设置您的父布局

于 2013-03-16T17:19:20.247 回答
1

我确定您正在使用LinearLayout设置它的widthand 。 不要那样做,而是使用设置为:heightfull_parent
RelativeLayoutheight

android:layout_height="wrap_content"

于 2013-03-16T17:52:22.260 回答