web-dev-qa-db-ja.com

Androidキーボードが上にあるときに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をスクロールできるようにする必要があります

17
Bilbonic

Flipbed が提供するリンクは、ソリューションへの答えです。マニフェストのアクティビティに「adjustResize」を追加するだけの場合は、回避策を実装する必要はありません。以前に発生していた問題は、adjustPanを使用していたことです。 adjustPanがウィンドウのサイズを変更しない場合は、ビューをパンして、フォーカスがあるものはソフトキーボードによって隠されないようにします。 Googleのドキュメントをチェックすると(下のリンクを参照)、それは理にかなっています。

例:

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

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

44
kenodoggy

NestedScrollViewにも同様の問題がありました。 ScrollViewへの変更が役立ちました。

0

追加 Android:windowSoftInputMode="adjustResize"をAndroidManifest.xmlファイルのタグに追加します。これにより、ソフトキーボードが表示された後、画面が余ったスペースにサイズ変更されます。そのため、簡単にスクロールできます。

0
Rajesh Hegde