【Android】LinearLayoutで囲んだページをスクロールさせる方法

村上 著者:村上

【Android】LinearLayoutで囲んだページをスクロールさせる方法

Android アプリを修正中に、LinearLayout で囲った要素をスクロールさせたかったので、その対処法です。
…というか、LinearLayout って要素がいくら増えてもスクロールしない仕様なのですね。
今後もうっかりこの仕様を忘れて「あれ?」となる未来が見えそうなので、忘れないようにしなければ。

今回参考にさせていただいた記事はこちらから。

LinearLayout をスクロールさせる方法(ScrollViewの使用方法) – [サンプルコード/Androidアプリ] ぺんたん info
http://pentan.info/android/app/sample/linear_scroll.html

 

対処方法としましては、スクロールさせたい LinearLayout を ScrollView で囲むだけです。
サンプルコードは下記のとおりです。

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

    <!-- 表示したい要素 -->

  </LinearLayout>
</ScrollView>

XMLファイルに記述する場合、上記のようにすれば、ページをスクロールすることができます。

なお、参考サイトでは、Activity のファイルで指定する方法についても掲載されておりますので、お好きな方法を採用してください。
個人的には、XML ファイルに追加する方法の方が楽だし分かりやすいと思います。

使用する際の注意点としましては、ScrollView は指定する子要素が 1つでなければいけないということが挙げられます。
なので、複数の要素をスクロールさせたい場合は、LinerLayout などのレイアウト要素を用いて、複数の要素を 1つにまとめる必要があります。

また、上記の方法では縦スクロールが有効になりますが、もし横スクロールを行いたい場合は、ScrollViewHorizontalScrollView に変更してください。

 

以上、Android の LinerLayout をスクロールさせる方法でした。
皆様は、私のようにうっかり仕様を忘れてしまわないようにご注意ください。

  • この記事いいね! (0)

著者について

村上

村上 administrator