我正在尝试创建菜单布局,我可以将按钮放在两个相同宽度的列中。
我不想拉伸按钮来填充所有屏幕(除非有长标签)。
我希望所有按钮具有相同的宽度 - 具有最长标签的按钮的宽度。
我正在一个水平线性布局内尝试两个垂直线性布局。
我发现的所有解决方案都建议对垂直线性布局使用相同的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>
答案 0 :(得分:0)
您正在设置样式“menu_layout”中的宽度,并再次在代码的第二行中设置宽度。移除其中一个。并尝试在父android:weightSum="1"
中使用LinearLayout
,然后在每个android:layout_weight="0.5"
中使用LinearLayout
。