【问题标题】:Android Soft Keyboard overlay EditText?Android软键盘覆盖EditText?
【发布时间】:2013-02-17 07:18:10
【问题描述】:

如果移除 ListView,EditText 将自动调整屏幕。

如果ListView存在这种布局,调整画面将不起作用,软键盘覆盖EditText框。

为什么?怎么修 ?

并尝试把这条线放到manifest里,但还是不行。

android:windowSoftInputMode="stateVisible|adjustResize|adjustPan"

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="TextView" />

        <ListView
            android:id="@+id/listView1"
            android:layout_width="match_parent"
            android:layout_height="200dip" >
        </ListView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <EditText
            android:id="@+id/editText1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10" >

            <requestFocus />
        </EditText>
    </LinearLayout>

</LinearLayout>

【问题讨论】:

    标签: android listview android-edittext


    【解决方案1】:

    不要同时使用android:windowSoftInputMode的三个值,所有的值都有自己的意义。

    如果你希望当你打开键盘时你的编辑框应该向上移动并且列表视图应该重新调整大小,那么你可以尝试在清单中使用以下行。

    android:windowSoftInputMode="adjustResize"
    

    【讨论】:

    • 感谢您的回复。已经尝试了您的代码,但没有工作。请下载一个简单的项目进行测试:sendspace.com/file/e5tvxa
    【解决方案2】:

    在您的清单中使用&lt;activity android:windowSoftInputMode="adjustResize"&gt;。第二次在您的&lt;ListView /&gt; 中添加android:transcriptMode="alwaysScroll" 属性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多