AndroidアプリでScrollView
を表示中にキーボードを表示すると、一番上までスクロールしても画面の下の部分がキーボードに隠れてしまいます。
これを、キーボードを表示したままでも画面最下部までスクロールできるようにするには、以下のようにします。
1. ManifestにwindowSoftInputModeを設定する
AndroidManifest.xmlのactivity
タグにandroid:windowSoftInputMode="adjustResize"
を追加します。
これによって、キーボードが表示されたらアクティビティのサイズがキーボード分小さくなるようになります。
AndroidManifest.xml
<manifest
... >
<application
... >
<activity
android:name="hoge.MyActivity"
...
android:windowSoftInputMode="adjustResize" >
</activity>
</application>
</manifest>
2. ScrollViewのweightを1にする
ScrollView
のweight
を1
にします。
これにより、アクティビティがリサイズされてもScrollView
が画面いっぱいに広がるようになります。
myactivity.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
...
</ScrollView>
</RelativeLayout>
※ こちらを参考にしました。