当键盘出现时,带有属性singline =“true”的EditText不会向上移动

时间:2014-06-27 09:14:10

标签: android

转载于Nexus 7 android 4.3

工作流:

  1. 将焦点设置为第一次编辑文本 - 键盘出现,EditText为 可见; enter image description here
  2. 隐藏键盘;
  3. 将focdus设置为第二次编辑文本 - 键盘出现,EditText 没有向上移动。 enter image description here
  4. (EditText在屏幕底部对齐)

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent">
    
        <EditText
                android:id="@+id/edit_text"
                android:layout_gravity="bottom"
                android:gravity="center"
                android:singleLine="true"
                android:imeOptions="actionSearch"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>
    </FrameLayout>
    
    
    public class MyActivity extends Activity {
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
        }
    }
    

    我试过这个:android:windowSoftInputMode =“adjustPan”或adjustPan | adjustResize,但现在效果。

    任何人都知道如何解决此问题?

    更新

    我想通了:问题出在属性android:singline =“true”; 这个属性需要显示搜索按钮,并在键盘上被克隆后开始搜索 - 否则显示后输入按钮点击我们去下一行。

    :您的活动是否使用FLAG_FULLSCREEN?

    A :是的。但是,如果没有这个标志仍然复制。

5 个答案:

答案 0 :(得分:1)

android:windowSoftInputMode="adjustResize"

答案 1 :(得分:0)

试试这样..

InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
    imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);

答案 2 :(得分:0)

在活动代码下的清单文件中添加:

 android:windowSoftInputMode="adjustpan"

将解决您的问题!!

答案 3 :(得分:0)

您不能将类型为actionSearch的文本字段指定为单行textfield.try将其删除。

答案 4 :(得分:0)

在清单文件中尝试此操作,添加到您的活动中

**

  

机器人:windowSoftInputMode =&#34; stateVisible | adjustPan&#34;

**