强制按钮的相对大小?

时间:2011-07-03 12:52:12

标签: android-layout android-linearlayout

我在相对布局中有两个按钮,都有android:layout_weight =“50”。因此,只要没有按钮的文本大于屏幕重量的一半,两个按钮都具有相同的大小。但是当一个按钮的文本太长时,按钮将不再具有相同的大小(请与下面的屏幕截图进行比较)。如何制作两个尺寸相同的按钮,因此每个按钮的宽度应为屏幕尺寸的一半,只需给它们一个相对宽度,如android:layout_weight =“50”,这样两个按钮的尺寸都相同,与文字长度?如果文本被裁剪或类似的话,那就没关系。谢谢你的提示!

我当前的XML代码如下所示:

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_weight="50"
        android:text="left button left button left button left button"/>

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_weight="50"
        android:text="right button"/>

</LinearLayout>

enter image description here

2 个答案:

答案 0 :(得分:4)

在两个按钮上设置android:layout_width="0dp"

布局权重仅在计算按钮的宽度后应用。当您指定android:layout_width="wrap_content" 计算文本的宽度之前计算权重时,控件的大小将包含文本,因为您告诉布局管理器每个的内容按钮应该环绕其文本。如果将这些宽度设置为0dp,则无论这些按钮内的文本大小如何,布局权重都将相等,并且只有在布局大小和布局时才会考虑权重。职位由布局经理计算。

答案 1 :(得分:0)

您只需在两个按钮中设置属性android:layout_weight =“1”,您就可以按照自己的方式使用它。