我需要在一行中放置 3 个按钮。/使用 LinearLayout/。问题是在按钮上更改文本时。宽度因“android:layout_width="wrap_content" 而改变。我想确保 thab 按钮将占据屏幕宽度 i 4:4:2 的比例。子句 'wrap_content' 打破了这一点,但我不能使用确切的尺寸,因为我没有在设计时不知道设备屏幕宽度。
有人知道不使用代码解决这个问题的简单方法吗?
不要将它们的宽度设置为 wrap_content。改为设置比例权重:
<LinearLayout
...
layout_width = "match_parent"
layout_height = "wrap_content" />
<Button
....
layout_width = "0dp"
layout_height = "wrap_content"
layout_weight = 2 />
<Button
....
layout_width = "0dp"
layout_height = "wrap_content"
layout_weight = 2 />
<Button
....
layout_width = "0dp"
layout_height = "wrap_content"
layout_weight = 1 />
</LinearLayout>
尝试以下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:weightSum="10" // SEE THIS IS 4+4+2 = 10
android:layout_centerHorizontal="true" >
<Button
android:layout_weight="4" // THIS IS 4
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:layout_weight="4" // THIS IS 4
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:layout_weight="2" // THIS IS 2
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
</RelativeLayout>
应该是 android:layout_weight="4dp"