在不同的 LinearLayouts 中对齐 TextView 宽度
Align TextView widths in different LinearLayouts
我有这个界面:
使用下面的片段XML。 是否可以对齐 TextView 的宽度,使它们的宽度都相同?
例如,ODOMETER 似乎是文本视图中最长的单词。如何调整所有其他 TextView 的宽度以匹配里程表?这样他们都排成一行,界面会更整洁。
<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:orientation="vertical"
tools:context="com.mycompany.myapp.Views.MasterDetails.VehicleFragment">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="false"
android:scrollbars="none">
<LinearLayout
android:id="@+id/scrollViewVehicle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- YEAR -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="YEAR"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editYear"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="4"
android:maxLines="1"/>
</LinearLayout>
<!-- MAKE -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="MAKE"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editMake"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- MODEL -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="MODEL"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editModel"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- BODY -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="BODY"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editBody"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- COLOR -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="COLOR"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editColor"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- TAG -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="TAG"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editTag"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- STATE -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="STATE"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editState"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- Odometer -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="ODOMETER"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editOdometer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- VIN -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="VIN"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editVIN"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.7"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="17"
android:maxLines="1"/>
<Button
android:id="@+id/btnScanVIN"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/COLOR_TXI_BLUE"
android:text="SCAN"
android:textColor="@color/COLOR_TXI_WHITE"
android:textStyle="bold"/>
</LinearLayout>
<!-- Other -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="OTHER"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editOther"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
当然可以。您正在为每对标签文本字段使用水平布局。按如下操作:
- 将
android:weightSum="z"
添加到每个 LinearLayout
- 为每个标签添加
android:layout_weight="0.y"
- 将
android:layout_weight="0.x"
添加到每个文本字段
注意 0.x + 0.y 必须等于 z。显然你需要设置数值。
编辑:
此代码:
<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:orientation="vertical"
tools:context="com.mycompany.myapp.Views.MasterDetails.VehicleFragment">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="false"
android:scrollbars="none">
<LinearLayout
android:id="@+id/scrollViewVehicle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- YEAR -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="1"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="YEAR"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editYear"
android:layout_width="match_parent"
android:layout_weight="0.8"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="4"
android:maxLines="1"/>
</LinearLayout>
<!-- MAKE -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="1"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="MAKE"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editMake"
android:layout_width="match_parent"
android:layout_weight="0.8"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
效果很好,我得到了这个结果
我有这个界面:
使用下面的片段XML。 是否可以对齐 TextView 的宽度,使它们的宽度都相同?
例如,ODOMETER 似乎是文本视图中最长的单词。如何调整所有其他 TextView 的宽度以匹配里程表?这样他们都排成一行,界面会更整洁。
<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:orientation="vertical"
tools:context="com.mycompany.myapp.Views.MasterDetails.VehicleFragment">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="false"
android:scrollbars="none">
<LinearLayout
android:id="@+id/scrollViewVehicle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- YEAR -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="YEAR"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editYear"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="4"
android:maxLines="1"/>
</LinearLayout>
<!-- MAKE -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="MAKE"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editMake"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- MODEL -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="MODEL"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editModel"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- BODY -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="BODY"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editBody"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- COLOR -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="COLOR"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editColor"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- TAG -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="TAG"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editTag"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- STATE -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="STATE"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editState"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- Odometer -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="ODOMETER"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editOdometer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
<!-- VIN -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="VIN"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editVIN"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.7"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="17"
android:maxLines="1"/>
<Button
android:id="@+id/btnScanVIN"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/COLOR_TXI_BLUE"
android:text="SCAN"
android:textColor="@color/COLOR_TXI_WHITE"
android:textStyle="bold"/>
</LinearLayout>
<!-- Other -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="OTHER"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editOther"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
当然可以。您正在为每对标签文本字段使用水平布局。按如下操作:
- 将
android:weightSum="z"
添加到每个 LinearLayout - 为每个标签添加
android:layout_weight="0.y"
- 将
android:layout_weight="0.x"
添加到每个文本字段
注意 0.x + 0.y 必须等于 z。显然你需要设置数值。
编辑: 此代码:
<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:orientation="vertical"
tools:context="com.mycompany.myapp.Views.MasterDetails.VehicleFragment">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="false"
android:scrollbars="none">
<LinearLayout
android:id="@+id/scrollViewVehicle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- YEAR -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="1"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="YEAR"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<EditText
android:id="@+id/editYear"
android:layout_width="match_parent"
android:layout_weight="0.8"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="4"
android:maxLines="1"/>
</LinearLayout>
<!-- MAKE -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="1"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingTop="10dp"
android:text="MAKE"
android:textColor="@color/COLOR_TXI_BLUE"
android:textStyle="bold"/>
<AutoCompleteTextView
android:id="@+id/editMake"
android:layout_width="match_parent"
android:layout_weight="0.8"
android:layout_height="match_parent"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="30"
android:maxLines="1"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
效果很好,我得到了这个结果