LoginSignup
5
5

More than 5 years have passed since last update.

それってほんとにRelativeLayout必要?

Last updated at Posted at 2015-05-19

Slice 1.png

先日、↑のようなレイアウトを作成しようとして、知ったことをメモ。

いつの頃からかAndroidのEclipseはRelativeLayoutをデフォルトにレイアウトするようになっていて、(といっても、私はAndroid Studioのほうを使っていますがw)ついつい、

  • +ボタンは左寄せ
  • 送信ボタンは右寄せ
  • テキストボックスは+ボタンの右、送信ボタンの左

みたいな考えをしがちです。

が、このレイアウトでは、

  • 送信ボタンがテキストボックスにあわせて伸びる(=match_parent指定が必要)
  • +ボタンはテキストボックスに合わせて伸びない(=wrap_content指定が必要)

なので、RelativeLayoutではうまくいきません。

じゃあ、どうするのか?

LinearLayoutのlayout_weightをうまくつかう のです。

Slice 2.png

layout_weightプロパティは、レイアウトの残った部分で、うまく配分してくれるらしいので、↑のように指定をすることで、両端のボタンを配置して残った部分全体にテキストボックスを置くことができます。

LinearLayoutでは、

  • minWidth, minHeightとかも使える
  • 送信ボタンをmatch_parent指定にするとテキストボックス配置後のボックスサイズにぴったりな感じでレイアウトしてくれる

など、RelativeLayoutだとできなかったこともできます。

5
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5