如何在android中并排对齐复选框和edittext字段?

oyt4ldly  于 2023-02-20  发布在  Android
关注(0)|答案(2)|浏览(151)

我正在尝试在LinearLayout中并排创建一个复选框和一个edittext字段。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/bottom_dialog"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    <com.google.android.material.checkbox.MaterialCheckBox
        android:id="@+id/report_bill_period"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Incorrect bill period"
        android:layout_marginEnd="10dp"
        android:layout_marginStart="30dp"
        android:layout_marginBottom="5dp">
    </com.google.android.material.checkbox.MaterialCheckBox>

    <com.google.android.material.checkbox.MaterialCheckBox
        android:id="@+id/report_bill_amount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Incorrect bill amount"
        android:layout_marginEnd="10dp"
        android:layout_marginStart="30dp"
        android:layout_marginBottom="5dp">
    </com.google.android.material.checkbox.MaterialCheckBox>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <com.google.android.material.checkbox.MaterialCheckBox
            android:id="@+id/anything_else"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="30dp"
            android:layout_marginBottom="5dp">
        </com.google.android.material.checkbox.MaterialCheckBox>

        <com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:layout_marginTop="5dp"
            android:layout_marginEnd="10dp"
            android:layout_marginStart="10dp"
            android:layout_marginBottom="10dp"
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
            android:background="@color/white"
            android:hint="Anything else?"
            android:textColor="@android:color/black">
            <com.google.android.material.textfield.TextInputEditText
                android:inputType="textCapCharacters"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:textAlignment="center"
                android:lines="10"
                android:maxLines="10" />
        </com.google.android.material.textfield.TextInputLayout>

    </LinearLayout>
</LinearLayout>

这是我得到的输出:
enter image description here
正如您在屏幕截图中看到的,第三个复选框与前两个复选框没有正确对齐。如何解决此问题?

ddrv8njm

ddrv8njm1#

将线性布局重心设置为中心

<LinearLayout  
  android:layout_width="match_parent"        
  android:layout_height="wrap_content"        
  android:orientation="horizontal"
  android:gravity="center">
  <!-- checkbox and textfield code -->
</LinearLayout>

也可以使用相对布局
或者,您也可以将复选框和文本字段 Package 在约束布局中,并以垂直居中的方式约束子项

ar5n3qh5

ar5n3qh52#

为复选框添加minWidthminHeight。它将删除默认填充。

android:minWidth="0dp"
android:minHeight="0dp"

相关问题