我已经创建了一个LinearLayout来包含几行按钮。要设置行中可以有的最大按钮数,我使用了每个按钮6的重量和1的布局权重,所以每行可以有6个。但是,现在当我添加更多按钮时,它们会被挤进同一行。任何人都知道它为什么不看布局重量? 下面是我的布局代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:weightSum="6"
android:clickable="false"
android:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/eng1"
android:id="@+id/eng1"
android:background="@color/red"
android:textStyle="bold"
android:layout_weight="1"
android:layout_margin="10dp"
android:clickable="true"
android:onClick="displayMessage"
android:textSize="20dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cowl"
android:id="@+id/cowl"
android:textSize="20dp"
android:background="@color/red"
android:textStyle="bold"
android:clickable="true"
android:onClick="displayMessage"
android:layout_margin="10dp"
android:layout_weight="1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/DIFFNG"
android:id="@+id/diffng"
android:textSize="20dp"
android:background="@color/red"
android:textStyle="bold"
android:clickable="true"
android:onClick="displayMessage"
android:layout_margin="10dp"
android:layout_weight="1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/elec"
android:id="@+id/elec"
android:background="@color/red"
android:textStyle="bold"
android:clickable="true"
android:textSize="20dp"
android:onClick="displayMessage"
android:layout_margin="10dp"
android:layout_weight="1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/battt"
android:id="@+id/battt"
android:background="@color/red"
android:textStyle="bold"
android:clickable="true"
android:textSize="20dp"
android:onClick="displayMessage"
android:layout_margin="10dp"
android:layout_weight="1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/eng2"
android:id="@+id/eng2"
android:background="@color/red"
android:textStyle="bold"
android:clickable="true"
android:textSize="20dp"
android:onClick="displayMessage"
android:layout_margin="10dp"
android:layout_weight="1" />
</LinearLayout>
答案 0 :(得分:1)
由于您已将weight_sum设置为6,因此该布局中只能有6个子子项。如果你添加超过6,他们将被挤压。
制作此参数
android:layout_width="wrap_content"
在所有按钮中
android:layout_width="0dp"
如果您在水平布局中使用权重,则需要将子项的宽度设置为0dp。
LinearLayout的高度为wrap_content。