HONDAのAndroid アプリ, Web アプリ開発備忘録

このブログはHONDAがAndroidアプリの開発開始と同時に作成したもので備忘録として記しています。最近Web系に就職が決まったのでwebアプリも勉強していきます。

LinearLayoutをいじる

前回,RelativeLayoutをactivity_main.xmlをじか打ちして

LinearLayoutに変えてみた。

まず、Layout及びViewの部品についてまとめてみた。(ざっくり

Viewの部品

  • TextView:テキストを表示させるため
  • EditText:テキストを入力させるため
  • Button:ボタン
  • ImageView:画像を表示させるため

Viewをまとめる場合は”ViewGroup”を用意する

"ViewGroup"の部品たちを配置するレイアウト

  • LinearLayout:横・縦に並べるレイアウト
  • TableLayout:表組みのように配置するレイアウト
  • RelativeLayout:Viewからの位置を相対的にならべるレイアウト

おそらく一番シンプルで扱いやすいのは

用途によるがLinearLayoutじゃないのだろうか?

下の図がactivity_main.xmlの中身。今回は右のプレビューをクリックして

プレビューをみながら文章をうってみる。

f:id:havoc0214:20150828020241p:plain

↑の"xmlns"は名前空間と呼ばれているもので、

"android"や"Tools"と名前付けするときに用いるらしい。

魔法のことばだと思っておこう。

 

f:id:havoc0214:20150828020900j:plainf:id:havoc0214:20150828021038j:plain

よく見ると文章が少し見にくいので

フォーマットをします。

フォーマットはCtrl+Alt+"l"でウィンドウズはフォーマットしてくれます。

注:Macはoption+command+"l"だそうです。

f:id:havoc0214:20150828021229p:plain

こんな感じ。

ここで、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で閉じています。
(これないとエラー出ます)
というわけでボタンを適当に配置して遊んでみる。

f:id:havoc0214:20150828021713p:plain

なるほど。よこにならんでいるな。はみ出ると表示されなくなるのか。

f:id:havoc0214:20150828021755p:plain

縦にも並べることができる。

たまげたなぁ。

おまけ

f:id:havoc0214:20150828023405p:plain

このように、ツリー構造として、

Device -> LinearLayout -> TextViewと並んでいたとしよう

①~④に割り振られている属性として

①:android:layout_height

②:android:layout_Width

③:android:padding

④:android:layout_margin

いずれ使うかも?

まとめ

LinearLayoutでボタンの配置をかえてみた