今回でAndroidプログラミング入門は第6回になる。筆者としては珍しくキチンとシリーズが続いている。実は現在,実機を購入しようかどうか迷っているところである。「HT-03A買おうかな?でも,次世代機まで待とうかな」と自問自答を繰り返している。「欲しいときが買い時だ」という悪魔のささやきと「もう少し待てば良かったと,また後悔するわよ」という天使のささやきが頭の中を交錯し,最後にはどちらが天使で,どちらが悪魔かわからなくなる。

 とりあえず,エミュレータでプログラム開発を自習して,雑念を払うのである。

 今回はEditTextやButtonをはじめとするウィジェットのレイアウトについて説明したい。

上の表に示したリニアレイアウト,テーブルレイアウト,絶対レイアウトが代表的なレイアウトである。

 前回の「いろいろなコンポーネントを使ってみる」で作成した四則演算をするプログラム(calcApp)はリニアレイアウトを使い,縦一列にウィジェットを並べている。

 上に示したのが,calcAppのmain.xmlだ。LinearLayoutでandroid:orientation属性にverticalを指定しているので,ウィジェットが垂直方向に並んでいるのである。このorientationにhorizontalを指定すると,水平方向に並ぶ。

 リニアレイアウトでは,垂直か水平に一列にしか並べることができないかというと,そうではない。LinearLayoutを入れ子にすることで,垂直,水平,また,垂直という並び方が実現できる。

多少,強引な例ではあるが,「引く」というラジオボタンと「掛け算」というラジオボタンをLinearLayoutで囲むことで横に並べることができる。

しかし,RadioGroupにもandroid:orientation属性があるので,全部のRadioButtonを同じ方向に配置するには,そこで指定すればよい。

この画面の場合,最初からhorizontalに並べた方が自然なのはいうまでもない。