LinearLayoutをいじる
前回,RelativeLayoutをactivity_main.xmlをじか打ちして
LinearLayoutに変えてみた。
まず、Layout及びViewの部品についてまとめてみた。(ざっくり
Viewの部品
- TextView:テキストを表示させるため
- EditText:テキストを入力させるため
- Button:ボタン
- ImageView:画像を表示させるため
Viewをまとめる場合は”ViewGroup”を用意する
"ViewGroup"の部品たちを配置するレイアウト
- LinearLayout:横・縦に並べるレイアウト
- TableLayout:表組みのように配置するレイアウト
- RelativeLayout:Viewからの位置を相対的にならべるレイアウト
おそらく一番シンプルで扱いやすいのは
用途によるがLinearLayoutじゃないのだろうか?
下の図がactivity_main.xmlの中身。今回は右のプレビューをクリックして
プレビューをみながら文章をうってみる。
↑の"xmlns"は名前空間と呼ばれているもので、
"android"や"Tools"と名前付けするときに用いるらしい。
魔法のことばだと思っておこう。
よく見ると文章が少し見にくいので
フォーマットをします。
フォーマットはCtrl+Alt+"l"でウィンドウズはフォーマットしてくれます。
注:Macはoption+command+"l"だそうです。
こんな感じ。
ここで、LinearLayoutは縦か横に配置するようなレイアウトなので、
それを指定するために"android:orientation"というものを入力する。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
最後の">"は必ず付けてください。"<"LinearLayoutで閉じています。
(これないとエラー出ます)
というわけでボタンを適当に配置して遊んでみる。
なるほど。よこにならんでいるな。はみ出ると表示されなくなるのか。
縦にも並べることができる。
たまげたなぁ。
おまけ
このように、ツリー構造として、
Device -> LinearLayout -> TextViewと並んでいたとしよう
①~④に割り振られている属性として
①:android:layout_height
②:android:layout_Width
③:android:padding
④:android:layout_margin
いずれ使うかも?
まとめ
LinearLayoutでボタンの配置をかえてみた