我有一个GridLayout,用于托管多个按钮,按两列排序。 所有按钮都有固定的高度和宽度。 如果其中一个按钮包含太多文本,则布局混乱。我希望布局能够正确地保持行,无论按钮是否有太多文本(我将处理以后显示太多文本的情况,使用自动文本大小)。
这是我的代码:
<GridLayout
android:id="@+id/cont_middle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="3dp"
android:layout_marginRight="3dp"
android:layout_marginTop="2dp"
android:columnCount="2"
>
<Button android:layout_width="120dp" android:layout_height="60dp" android:text="test"/>
<Button android:layout_width="120dp" android:layout_height="60dp" android:text="test"/>
<Button android:layout_width="120dp" android:layout_height="60dp" android:text="this is a really long text"/>
<Button android:layout_width="120dp" android:layout_height="60dp" android:text="test"/>
<Button android:layout_width="120dp" android:layout_height="60dp" android:text="test"/>
<Button android:layout_width="120dp" android:layout_height="60dp" android:text="test"/>
</GridLayout>
它的外观如下:
这是布局应该看起来的样子(永远不要写文字)
注意:我不想强制单行,我想要文本包装,如果它想要,按钮似乎不会改变它的高度,但我不想让它移动。
我错过了什么?
谢谢。
答案 0 :(得分:4)
您应该将按钮放在linearLayout中,并将按钮的大小设置为线性布局。在线性布局中,您的按钮作为填充父级的宽度和高度。这样你的视图就不会搞砸了。
答案 1 :(得分:2)
你可以通过简单地向按钮添加最大高度来实现它
android:maxHeight="60dp"