Visual Studio 2017 Xamarin выравнивает правки по левому краю - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь выровнять все правки в представлении ниже по их левому краю.Верхний и нижний выравнивают нормально, потому что они в основном одинаковы.Средний (средний инициал) выравнивается по правому краю с другими правками.Как я могу выровнять их по левому краю?

<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>

1 Ответ

0 голосов
/ 16 февраля 2019

Это потому, что вы добавили 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 единиц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...