我正在尝试将左边缘下方布局中的所有editview对齐。顶部和底部对齐,因为它们基本相同。中间一个(中间的首字母)在右边缘与其他编辑视图对齐。如何在左边缘对齐它们?
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minWidth="25px"
android:minHeight="25px">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="0.15"
android:text="First Name" />
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="0.85"
android:id="@+id/first_name"
android:text="First Name" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="133.5dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="230dp"
android:layout_weight="0.15"
android:text="Middle Initial" />
<EditText
android:layout_width="68.5dp"
android:layout_height="wrap_content"
android:paddingLeft = "10dp"
android:maxLength = "1"
android:layout_weight="0.30"
android:id="@+id/mi"
android:text="M" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="0.15"
android:text="Last Name" />
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="0.85"
android:id="@+id/last_name"
android:text="Last Name" />
</LinearLayout>
</LinearLayout>
这是因为你添加了android:layout_marginRight="230dp"
并通过删除layout_weight
你可以实现正确的对齐。
使用以下:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minWidth="25px"
android:minHeight="25px"
tools:ignore="HardcodedText">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="First Name" />
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/first_name"
android:text="First Name" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="Middle Initial" />
<EditText
android:layout_width="50dp"
android:layout_height="wrap_content"
android:maxLength = "1"
android:id="@+id/mi"
android:text="M" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="Last Name" />
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/last_name"
android:text="Last Name" />
</LinearLayout>
</LinearLayout>
您应该开始使用ConstraintLayout,它具有更好的性能,并且还可以使用Android Studio拖放视图。
我看到你使用px
单位,你应该总是使用dp
单位除了你应该使用sp
单位的文字大小。