我有几个不同文字长度的按钮。 我想让所有按钮都等于按钮 最长的文字。 它们的宽度是
android:layout_width="wrap_content"
因此按钮的宽度不同。
我试过
int width=button1.getWidth();
button2.setWidth(width)
但他们彼此不匹配。 button2的宽度不同。 GetWidth让我不知道是什么。 SetWidth设置像素。
我不想使用重量,因为不保证按钮的文字会 作为一行文字。我不想设置按钮的确切宽度,因为按钮的文本左侧和右侧会有额外的空间。
有什么想法吗? 谢谢!
答案 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