以编程方式显示键盘不会调整窗口

时间:2015-12-04 17:55:54

标签: android

标题总结得很好。我请求以EditText为焦点以编程方式显示软键盘。 EditText按要求获得焦点,键盘打开,但窗口没有相应调整。单击EditText可以直接正常工作。

以下是代码:

textView.setOnFocusChangeListener(new OnFocusChangeListener() {
        @Override
        public void onFocusChange(View view, boolean hasFocus) {
            if (hasFocus) {
                editText.requestFocus();

                InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
            }
        }
    });

任何解决方法?

修改 我已经尝试在清单文件中的android:windowSoftInputMode="adjustResize"上设置android:windowSoftInputMode="adjustPan"<activity ..>。这个伎俩都没有。

编辑2:

<LinearLayout
    android:id="@+id/edittext_appendable_layout"
    style="@style/PGTheme.EditText.Dark"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:addStatesFromChildren="true"
    android:orientation="horizontal"
    android:paddingBottom="0dp">

    <EditText
        android:id="@+id/edittext_appendable_text"
        style="@style/PGTheme.EditText.Dark.NoUnderline"
        android:layout_width="wrap_content"
        android:layout_height="@dimen/view_size"
        android:paddingEnd="0dp"
        android:paddingLeft="0dp"
        android:paddingRight="0dp"
        android:paddingStart="0dp"/>

    <TextView
        android:id="@+id/edittext_appendable_textview"
        style="@style/PGTheme.EditText.Dark.NoUnderline"
        android:layout_width="0dp"
        android:layout_height="@dimen/view_size"
        android:layout_weight="1"
        android:paddingEnd="0dp"
        android:paddingLeft="0dp"
        android:paddingRight="0dp"
        android:paddingStart="0dp"/>
</LinearLayout>

编辑3: 忘记提及:在EditText获得焦点并开始输入后,它会正常调整。

0 个答案:

没有答案