Visual Studio 2017 Xamarin在左边对齐editviews

问题描述 投票:0回答:1

我正在尝试将左边缘下方布局中的所有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 android-layout xamarin xamarin.android
1个回答
0
投票

这是因为你添加了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单位的文字大小。

© www.soinside.com 2019 - 2024. All rights reserved.