読者です 読者をやめる 読者になる 読者になる

とりあえず移転してみました

ニュースねたや、IT系の記事を書いていくつもり・・・ですが、どうなるかわかりません。まあ、とりあえず やってみます。

android 今更ながらレイアウトでのweight指定での注意点

レイアウトの作成時に、縦にテキストやらボタンを配置する場合が多い。その場合に、同じようなものであればドンドン配置すればいいのだけど、大きさを変えないとしっくりこない。

LinerLayout(Vertical)を配置して、その中に部品を配置する方法が一番簡単。LinerLayoutの高さを調整すれば、その中の部品の高さも変更できるから。

f:id:imsdJava:20170519111950p:plain
これを使って配置していく

基本の指定方法として、Layout:heightで「match_parent」(最大)か「wrap_content」(最小)の指定が可能だけど、細かい指定ができない。その場合は、Layout:weightで重みつけをすることになる。

ただ・・・ここで注意しなければいけないのは、他のブログとかでも沢山書かれているのだけど、weightで重みをつける場合は「Layout:height」は「0dp」と指定しなければいけない。

f:id:imsdJava:20170519112848p:plain
0dpと指定したうえで重みつけを指定

上の階層のレイアウトに、「weightSum」という項目があるので、weightの合計値を指定しておくと便利。

合計値を10としておいて、

パーツA 1
パーツB 3
パーツC 2
パーツD 4

という感じで指定すると全体のイメージがつかみやすい。
weightの値と、height(高さ)もしくはwidth(幅)を0dpにする。これが必須。