【问题标题】:Adjust view height to remove extra spaces in a constraint layout调整视图高度以删除约束布局中的额外空间
【发布时间】:2021-12-26 14:56:44
【问题描述】:

这是我的屏幕的样子 Login screen

我想删除提交按钮和屏幕底部之间的多余空格。 我在 SO 中研究了这个问题。但就我所见,没有人回答它。 你能建议一些方法吗? 我已附上下面的 XML 布局以供参考。

登录布局

<?xml version="1.0" encoding="utf-8"?>
<layout>

    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/colorAccent"
        tools:context=".MainActivity">

        <View
            android:id="@+id/view_form"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            app:layout_constraintVertical_weight="0.50"
            android:layout_marginTop="@dimen/marginTopLogin"
            android:background="@drawable/round_cornered_top_white_bg_drawable"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="1.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"/>


        <EditText
            android:id="@+id/etUsername"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="20dp"
            android:autofillHints="name"
            android:hint="Username"
            android:imeOptions="actionNext"
            android:inputType="text"
            android:maxLines="1"
            android:padding="16dp"
            app:layout_constraintEnd_toEndOf="@id/view_form"
            app:layout_constraintStart_toStartOf="@id/view_form"
            app:layout_constraintTop_toTopOf="@+id/view_form"  />

        <EditText
            android:id="@+id/etPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="20dp"
            android:autofillHints="password"
            android:hint="Password"
            android:imeOptions="actionDone"
            android:inputType="textPassword"
            android:maxLines="1"
            android:padding="16dp"
            app:layout_constraintEnd_toEndOf="@id/view_form"
            app:layout_constraintStart_toStartOf="@id/view_form"
            app:layout_constraintTop_toBottomOf="@+id/etUsername"/>

        <CheckBox
            android:id="@+id/imgTogglePassword"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="-5dp"
            android:layout_marginEnd="-5dp"
            android:button="@drawable/btn_toggle_password"
            android:padding="16dp"
            app:layout_constraintBottom_toBottomOf="@id/etPassword"
            app:layout_constraintEnd_toEndOf="@id/etPassword"
            app:layout_constraintTop_toTopOf="@id/etPassword" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Submit"
            android:layout_marginTop="20dp"
            android:background="@color/colorAccent"
            app:layout_constraintTop_toBottomOf="@id/etPassword"
            app:layout_constraintStart_toStartOf="@id/view_form"
            app:layout_constraintEnd_toEndOf="@id/view_form"/>

    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>

【问题讨论】:

    标签: android xml view android-constraintlayout


    【解决方案1】:

    试试看

    <layout>
    
        <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/colorAccent"
            tools:context=".MainActivity">
    
            <View
                android:id="@+id/view_form"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_marginTop="@dimen/marginTopLogin"
                android:background="@drawable/round_cornered_top_white_bg_drawable"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="1.0"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_weight="0.50" />
    
    
            <EditText
                android:id="@+id/etUsername"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="20dp"
                android:autofillHints="name"
                android:hint="Username"
                android:imeOptions="actionNext"
                android:inputType="text"
                android:maxLines="1"
                android:padding="16dp"
                app:layout_constraintEnd_toEndOf="@id/view_form"
                app:layout_constraintStart_toStartOf="@id/view_form"
                app:layout_constraintTop_toTopOf="@+id/view_form" />
    
            <EditText
                android:id="@+id/etPassword"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="20dp"
                android:autofillHints="password"
                android:hint="Password"
                android:imeOptions="actionDone"
                android:inputType="textPassword"
                android:maxLines="1"
                android:padding="16dp"
                app:layout_constraintEnd_toEndOf="@id/view_form"
                app:layout_constraintStart_toStartOf="@id/view_form"
                app:layout_constraintTop_toBottomOf="@+id/etUsername" />
    
            <CheckBox
                android:id="@+id/imgTogglePassword"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="-5dp"
                android:layout_marginEnd="-5dp"
                android:button="@drawable/btn_toggle_password"
                android:padding="16dp"
                app:layout_constraintBottom_toBottomOf="@id/etPassword"
                app:layout_constraintEnd_toEndOf="@id/etPassword"
                app:layout_constraintTop_toTopOf="@id/etPassword" />
    
            <androidx.appcompat.widget.AppCompatButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="20dp"
                android:text="Submit"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent" />
    
        </androidx.constraintlayout.widget.ConstraintLayout>
    </layout>
    

    【讨论】:

    • 它只是在底部对齐提交,密码编辑文本和提交按钮之间的空格增加。 @Yura
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 2014-02-02
    • 2019-08-09
    • 2020-10-16
    • 2021-11-25
    • 1970-01-01
    相关资源
    最近更新 更多