2012-09-08 42 views
1

我想创建菜单布局,我可以在两个相同宽度的柱子中放置按钮。
我不想拉伸按钮来填充所有屏幕(除非有很长的标签)。
我希望所有的按钮具有相同的宽度 - 最长标签的按钮宽度。
我试图在一个水平线性布局内的两个垂直线性布局。
我发现的所有解决方案都建议对垂直线性布局使用相同的layout_weight,对于强制按钮占据整个屏幕宽度的水平布局,使用layout_width = fill_parent。
我的问题有什么常见的解决方案吗?

这是我所期待的 - https://dl.dropbox.com/u/2751770/android-layout1.PNG
这是解决方案如何共同样子 - https://dl.dropbox.com/u/2751770/android-layout2.PNG

这里是代码,我使用的是作为一个共同的解决方案:android - 用相同的宽度放置的视图没有填充所有屏幕

<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”中的宽度,并且也在第二个里面你的代码中的一个。删除其中一个。并尝试使用LinearLayout中的android:weightSum="1",然后在每个LinearLayout中使用android:layout_weight="0.5"

相关问题