Androidアプリを作るとき、中身はとりあえず置いておくとして、レイアウトだけサクッと決めて実機で動かすとテンションが上がる。
実機デバッグモード素晴らしい。
レイアウトの形式
以下の4つがよく使われるらしい
- LinearLayout 直線的に並べる
- TableLayout 表形式で表示
- AbsoluteLayout 座標を直接指定
- RelativeLayout 要素同士の位置関係を指定してレイアウトを構築
※今回はLinearLayoutを主に利用しているので、以下に詳細を記す。
記述例: <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> ※ここに要素を記述 </LinearLayout>
- orientation 要素の並べ方を指定する
- vertical 縦方向
- horizontal 横方向
- layout_width 縦、横方向の要素のサイズを指定する
- layout_height
- wrap_content 最小限の大きさで表示
- fill_parent 最大限の大きさで表示
- Xdip 数値で大きさを指定
- layout_weight レイアウトの優先度を指定する(余白指定のときに用いる)
layout_widthとlayout_heightは必ず記述する必要がある?(未確認)
LinearLayoutは入れ子構造にすることで縦方向と横方向の入り交じったレイアウトを構築できる。
参考URL
http://www.trusted-design.net/layoutEdit.html
http://itpro.nikkeibp.co.jp/article/MAG/20090818/335668/?ST=nsw&P=1
画面の向きによってレイアウトを変更する
重力センサにより縦向き画面と横向き画面で表示され得るので、それぞれ別のXMLファイルでレイアウトを定義する。
- /workspace/プロジェクト名/res/layout/main.xml
縦向き時のレイアウト。プロジェクト作成時に自動で作成される
- /workspace/プロジェクト名/res/layout-land/main.xml
横向き時のレイアウト。eclipseから自分で追加する
余白の使い方
LinearLayoutでlayout_width="fill_parent"などと指定した場合、余白は自動で配分される。
このとき、android:layout_weightにより、余白配分の優先順位を指定できる。
参考URL
http://www.android-navi.com/archives/android_1/checkbox/
レイアウトや文字の中央配置、右寄せなど
参考URL
http://magpad.jugem.jp/?eid=153
(具体例が画像とともに載っていて大変分かりやすい)