键盘启动时,Android ScrollView不会滚动

时间:2013-07-09 19:13:37

标签: android keyboard scrollview

我的视图没有填满屏幕,但是当键盘出现时,您无法向下滚动到现在覆盖的几个字段。我尝试在清单和类中添加adjustSize,adjustPan。 xml类似于以下条目:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/s"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    >

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/TableLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <!-- TextViews & EditTexts are here -->
    </TableRow>
        <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <!-- TextViews & EditTexts are here -->
    </TableRow>
        <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <!-- TextViews & EditTexts are here -->
    </TableRow>
        <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <!-- TextViews & EditTexts are here -->
    </TableRow>
        <TableRow
        android:id="@+id/tableRow5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <!-- TextViews & EditTexts are here -->
    </TableRow>



</TableLayout>
</ScrollView>

我需要能够在键盘出现时滚动editTexts和TextViews

3 个答案:

答案 0 :(得分:43)

Flipbed提供的链接是您解决方案的答案。如果您只是添加&#34; adjustResize&#34;那么您就不需要实施解决方法。你在清单中的活动。您之前遇到的问题是您使用的是adjustPan。如果adjustPan没有调整窗口的大小,它会平移视图,这样任何具有焦点的东西都不会被软键盘遮挡。如果您查看Google的文档(请参阅下面的链接),这将是有意义的。

示例:

<activity android:name="YourActivity" 
          android:windowSoftInputMode="adjustResize" />

http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

答案 1 :(得分:0)

android:windowSoftInputMode="adjustResize"添加到AndroidManifest.xml文件中的代码中。这将导致在显示软键盘后屏幕调整到左侧空间。所以,你可以轻松滚动。

答案 2 :(得分:0)

NestedScrollView也有类似的问题。更改为ScrollView很有帮助。