我有以下布局:
<?xml version="1.0" encoding="utf-8"?>
<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="56dp"
android:baselineAligned="false"
android:gravity="center_horizontal"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:minWidth="80dp"
android:orientation="vertical"
android:paddingBottom="8dp"
android:paddingEnd="12dp"
android:paddingStart="12dp"
android:paddingTop="8dp">
<ImageView
android:id="@+id/img1"
android:layout_width="24dp"
android:layout_height="24dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_search"
tools:ignore="ContentDescription"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/latitude"
android:textAlignment="center"
android:textSize="12sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:minWidth="80dp"
android:orientation="vertical"
android:paddingBottom="8dp"
android:paddingEnd="12dp"
android:paddingStart="12dp"
android:paddingTop="8dp">
<ImageView
android:id="@+id/img2"
android:layout_width="24dp"
android:layout_height="24dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_search"
tools:ignore="ContentDescription"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/latitude"
android:textAlignment="center"
android:textSize="12sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:maxWidth="168dp"
android:minWidth="80dp"
android:orientation="vertical"
android:paddingBottom="8dp"
android:paddingEnd="12dp"
android:paddingStart="12dp"
android:paddingTop="8dp">
<ImageView
android:id="@+id/img3"
android:layout_width="24dp"
android:layout_height="24dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_search"
tools:ignore="ContentDescription"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/latitude"
android:textAlignment="center"
android:textSize="12sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:maxWidth="168dp"
android:minWidth="80dp"
android:orientation="vertical"
android:paddingBottom="8dp"
android:paddingEnd="12dp"
android:paddingStart="12dp"
android:paddingTop="8dp">
<ImageView
android:id="@+id/img4"
android:layout_width="24dp"
android:layout_height="24dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_search"
tools:ignore="ContentDescription"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/latitude"
android:textAlignment="center"
android:textSize="12sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:minWidth="80dp"
android:orientation="vertical"
android:paddingBottom="8dp"
android:paddingEnd="12dp"
android:paddingStart="12dp"
android:paddingTop="8dp">
<ImageView
android:id="@+id/img5"
android:layout_width="24dp"
android:layout_height="24dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_search"
tools:ignore="ContentDescription"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/latitude"
android:textAlignment="center"
android:textSize="12sp"/>
</LinearLayout>
</LinearLayout>
我希望每个线性布局子元素的宽度为80dp,直到168dp分配空间。我不知道怎么说使用布局权重“平均分配空间until 168dp
”。我尝试使用maxWidth
,但它不起作用。
答案 0 :(得分:0)
您应该使用android:weightSum
。
定义最大重量总和。如果未指定,则总和通过计算 添加所有子项的layout_weight。这可以用于 实例给予单个孩子50%的总可用空间 给它一个layout_weight为0.5并将weightSum设置为1.0。
<?xml version="1.0" encoding="utf-8"?>
<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="wrap_content"
android:weightSum="10"
android:baselineAligned="false"
android:gravity="center_horizontal"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="8dp"
android:paddingEnd="12dp"
android:paddingStart="12dp"
android:paddingTop="8dp">
......................
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="8dp"
android:paddingEnd="12dp"
android:paddingStart="12dp"
android:paddingTop="8dp">
..............
</LinearLayout>
...........
</LinearLayout>
<强> FYI 强>
如果您使用 android:minWidth
android:layout_height
将无效
答案 1 :(得分:0)
android:weightSum="5"
设置为BaseLayout <{1}} ,以下布局分配同等空间
android:minWidth