画面をスクロールさせる

Android SDK + Eclipseで開発をするとき、普通にAndroidのプロジェクトを作ると出来上がったアプリケーションの画面はスクロールせず、下のほうに配置したコンポーネントが見えないことがある。Glaphic Layout(main.xml)のルートがLinearLayoutになっているからだ。

1画面に多くのコンポーネントを配置して、画面をスクロールさせるためにはLinearLayoutの代わりにScrollViewを利用すれば良い。Eclipseの"Outline"ウィンドウでLinearLayoutを右クリックし、"Change Layout"メニューを選択する。ここでScrollViewを選択するとLinearLayoutがScrollViewに置き換わる。

尚、ScrollViewは1つしか子を持つことができないので、複数のコンポーネントを配置したい場合、まず直接の子としてLinearLayoutを配置する。そして、LinearLayout上に必要なコンポーネントを配置していく。ScrollViewの子としてLinearLayoutを配置した状態のmain.xmlは以下のようになる。

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

レイアウトに失敗してとGlaphic Layoutが表示されなくなったときは、まずUndoを試し、それもダメならmain.xmlを直接書き換えよう。

(2012/01/25)

新着情報
【iOS Objective-C, Swift Tips】アプリアイコンにバッジを表示(Swift)
【iOS Objective-C, Swift Tips】画像の向きを指定して保存する(Swift)
【iOS Objective-C, Swift Tips】UIImagePickerControllerの表示を日本語にする(Swift)

Copyright(C) 2004-2013 モバイル開発系(K) All rights reserved.
[Home]