如何使按钮宽度等于具有较长文本的其他按钮

时间:2014-08-19 15:42:39

标签: android button

我有几个不同文字长度的按钮。 我想让所有按钮都等于按钮 最长的文字。 它们的宽度是

android:layout_width="wrap_content"

因此按钮的宽度不同。

我试过

      int width=button1.getWidth();
      button2.setWidth(width)

但他们彼此不匹配。 button2的宽度不同。 GetWidth让我不知道是什么。 SetWidth设置像素。

我不想使用重量,因为不保证按钮的文字会 作为一行文字。我不想设置按钮的确切宽度,因为按钮的文本左侧和右侧会有额外的空间。

有什么想法吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true" >

    <Button
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="Button is clickble" />

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="Button" />

</LinearLayout>

试试这个。在线性布局中使用重量。

答案 1 :(得分:0)

您可能过早地调用getWidth()方法,因为如果用户界面还没有完成加载和缩放,getWidth()将返回不需要的值。

尝试记录getWidth()的值。如果它为零,则可能是getWidth() and getHeight() of View returns 0

的副本