layout_weightを使うと、ViewまたはViewGroup同士のレイアウトを比率で分けることができる・・・。
LinearLayout.LayoutParams | Android Developers
activity_main.xmlで、
LinearLayoutのlayout_widthをmatch_parentにして、まずはButtonにlayout_weightを付けずにwrap_contentで3つ並べる・・・。
今度はすべてのButtonにlayout_weightの1を付けて、1:1:1でButtonのレイアウトを割り振る・・。
(layout_weightを付けたButtonのlayout_widthは0dpにする・・・。
その理由については、
layout_weightについて(0dipとfill_parentの違いについて) - Master of None
などを参照のこと・・・。
要は比率とは別に幅を主張してしまうと、レイアウトが崩れてしまうので、比率だけ有効にするということ・・・。)
今度は2:1で割り振る・・・。
両端をlayout_weightの1にして、真ん中のlayout_widthをwrap_contentにする・・・。
こうすると、真ん中がButtonを表示できる最低限のサイズ、両端のButtonはそれを埋めるようなサイズで配置される・・・。
真ん中だけlayout_weightを1にすると、両端がwrap_contentなので表示できる最低限のサイズ、真ん中はそれを埋める形で配置される・・・。
このように比率でButtonのレイアウトを分けることができた・・・。