同じ幅の 2 つの列にボタンを配置できるメニュー レイアウトを作成しようとしています。
すべての画面を埋めるためにボタンを引き延ばしたくありません (長いラベルがない限り)。
すべてのボタンの幅を同じにしたい - ラベルが最も長いボタンの幅。
1 つの水平線形レイアウト内で 2 つの垂直線形レイアウトを試しています。
私が見つけたすべてのソリューションは、垂直線形レイアウトには同じ layout_weight を使用し、水平レイアウトには layout_width=fill_parent を使用することを提案しています。これにより、ボタンが画面幅全体を占めるようになります。
私の問題に対する一般的な解決策はありますか?
これは私が期待するものです - https://dl.dropbox.com/u/2751770/android-layout1.PNG
これは、一般的なソリューションがどのように見えるかです -https://dl.dropbox.com/u/2751770/android-layout2.PNG
そして、これが私が一般的な解決策として使用しているコードです:
<LinearLayout style="@style/menuLayout"
android:layout_width="match_parent"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout android:orientation="vertical"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content">
<Button style="@style/menuButton"
android:text="Title 1"/>
<Button style="@style/menuButton"
android:text="Title 2"/>
</LinearLayout>
<LinearLayout android:orientation="vertical"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content">
<Button style="@style/menuButton"
android:text="Title 3"/>
<Button style="@style/menuButton"
android:text="Long title 4"/>
</LinearLayout>
</LinearLayout>
スタイル:
<style name="menuLayout">
<item name="android:layout_gravity">center</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item>
</style>
<style name="menuButton">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="android:paddingLeft">30dp</item>
<item name="android:paddingRight">30dp</item>
<item name="android:layout_margin">5dp</item>
</style>