今回でAndroidプログラミング入門は第6回になる。筆者としては珍しくキチンとシリーズが続いている。実は現在,実機を購入しようかどうか迷っているところである。「HT-03A買おうかな?でも,次世代機まで待とうかな」と自問自答を繰り返している。「欲しいときが買い時だ」という悪魔のささやきと「もう少し待てば良かったと,また後悔するわよ」という天使のささやきが頭の中を交錯し,最後にはどちらが天使で,どちらが悪魔かわからなくなる。
とりあえず,エミュレータでプログラム開発を自習して,雑念を払うのである。
今回はEditTextやButtonをはじめとするウィジェットのレイアウトについて説明したい。
上の表に示したリニアレイアウト,テーブルレイアウト,絶対レイアウトが代表的なレイアウトである。
前回の「いろいろなコンポーネントを使ってみる」で作成した四則演算をするプログラム(calcApp)はリニアレイアウトを使い,縦一列にウィジェットを並べている。
上に示したのが,calcAppのmain.xmlだ。LinearLayoutでandroid:orientation属性にverticalを指定しているので,ウィジェットが垂直方向に並んでいるのである。このorientationにhorizontalを指定すると,水平方向に並ぶ。
リニアレイアウトでは,垂直か水平に一列にしか並べることができないかというと,そうではない。LinearLayoutを入れ子にすることで,垂直,水平,また,垂直という並び方が実現できる。
多少,強引な例ではあるが,「引く」というラジオボタンと「掛け算」というラジオボタンをLinearLayoutで囲むことで横に並べることができる。
しかし,RadioGroupにもandroid:orientation属性があるので,全部のRadioButtonを同じ方向に配置するには,そこで指定すればよい。
この画面の場合,最初からhorizontalに並べた方が自然なのはいうまでもない。