打开软件键盘时,我看到 CardView 底部有多余的空间 - android

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

我有以下 xml,但是当打开软件键盘时,我看到 CardView 底部有额外的空间:

<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/constraintLoginFragment"
    android:fitsSystemWindows="true"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/orangePeel_1"
    android:clickable="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    tools:context="ir.appinoo.presentation.ui.fragments.login.LoginFragment">

    <TextView
        android:id="@+id/txtTitleLogin"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"
        android:layout_marginRight="20dp"
        android:fontFamily="@font/yekanbakh_regular"
        android:gravity="right"
        android:text="@string/login_title"
        android:textSize="20sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toTopOf="@+id/txtDescLogin"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/txtDescLogin"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:fontFamily="@font/yekanbakh_regular"
        android:gravity="right"
        android:text="@string/login_title_desc"
        android:textStyle="bold"
        app:layout_constraintBottom_toTopOf="@+id/constContainLogin"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtTitleLogin" />

    <androidx.constraintlayout.widget.ConstraintLayout
        android:fitsSystemWindows="true"
        android:id="@+id/constContainLogin"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="15dp"
        android:orientation="vertical"
        android:background="@drawable/layout_bg"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtDescLogin">

        <androidx.core.widget.NestedScrollView
            android:scrollbars="none"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="30dp"
            android:layout_marginEnd="30dp"
            android:fillViewport="true"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <androidx.cardview.widget.CardView
                android:fitsSystemWindows="true"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_gravity="center"
                app:cardCornerRadius="25dp"
                app:cardElevation="10dp"
                app:cardUseCompatPadding="true">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">

                    <com.google.android.material.textfield.TextInputLayout
                        android:id="@+id/txtInputPhone"
                        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_marginTop="20dp"
                        android:layout_marginRight="5dp"
                        android:hint="@string/hint_login_page"
                        app:boxStrokeColor="#4E4A4A"
                        app:errorEnabled="true"
                        app:shapeAppearanceOverlay="@style/Button4">

                        <com.google.android.material.textfield.TextInputEditText
                            android:id="@+id/edtPhone"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:digits="1234567890"
                            android:fontFamily="@font/yekanbakh_regular"
                            android:imeOptions="actionDone"
                            android:inputType="number"
                            android:textColor="@color/black"
                            android:textSize="15sp"
                            android:textStyle="normal" />
                    </com.google.android.material.textfield.TextInputLayout>

                    <com.google.android.material.textfield.TextInputLayout
                        android:id="@+id/txtInputActiveCode"
                        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_marginTop="5dp"
                        android:layout_marginRight="5dp"
                        android:hint="@string/active_code"
                        android:visibility="gone"
                        app:boxStrokeColor="#4E4A4A"
                        app:errorEnabled="true"
                        app:shapeAppearanceOverlay="@style/Button4">

                        <com.google.android.material.textfield.TextInputEditText
                            android:id="@+id/edtActiveCode"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:digits="1234567890"
                            android:fontFamily="@font/yekanbakh_regular"
                            android:imeOptions="actionDone"
                            android:inputType="number"
                            android:textColor="@color/black"
                            android:textSize="15sp"
                            android:textStyle="normal" />
                    </com.google.android.material.textfield.TextInputLayout>

                    <TextView
                        android:id="@+id/txtInterval"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="8dp"
                        android:layout_marginEnd="8dp"
                        android:fontFamily="@font/yekanbakh_regular"
                        android:visibility="gone"
                        app:layout_constraintEnd_toEndOf="@id/txtInputActiveCode"
                        app:layout_constraintStart_toStartOf="@id/txtInputActiveCode"
                        app:layout_constraintTop_toBottomOf="@id/txtInputActiveCode" />

                    <com.google.android.material.textfield.TextInputLayout
                        android:id="@+id/txtInputNF"
                        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_marginTop="5dp"
                        android:layout_marginRight="5dp"
                        android:hint="@string/name_family"
                        android:visibility="gone"
                        app:boxStrokeColor="#4E4A4A"
                        app:errorEnabled="true"
                        app:shapeAppearanceOverlay="@style/Button4">

                        <com.google.android.material.textfield.TextInputEditText
                            android:id="@+id/edtNF"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:fontFamily="@font/yekanbakh_regular"
                            android:imeOptions="actionNext"
                            android:inputType="text"
                            android:textColor="@color/black"
                            android:textSize="15sp"
                            android:textStyle="normal" />
                    </com.google.android.material.textfield.TextInputLayout>

                    <com.google.android.material.textfield.TextInputLayout
                        android:id="@+id/txtInputIdentificationCode"
                        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_marginTop="5dp"
                        android:layout_marginRight="5dp"
                        android:hint="@string/identification_code"
                        android:visibility="gone"
                        app:boxStrokeColor="#4E4A4A"
                        app:errorEnabled="true"
                        app:shapeAppearanceOverlay="@style/Button4">

                        <com.google.android.material.textfield.TextInputEditText
                            android:id="@+id/edtIdentificationCode"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:digits="1234567890"
                            android:fontFamily="@font/yekanbakh_regular"
                            android:imeOptions="actionDone"
                            android:inputType="number"
                            android:textColor="@color/black"
                            android:textSize="15sp"
                            android:textStyle="normal" />
                    </com.google.android.material.textfield.TextInputLayout>

                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginLeft="24dp"
                        android:layout_marginTop="20dp"
                        android:layout_marginRight="24dp"
                        android:layout_marginBottom="20dp"
                        android:gravity="center">

                        <RelativeLayout
                            android:id="@+id/rlBtnLogin"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content">

                            <Button
                                android:id="@+id/btnLogIn"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:elevation="15dp"
                                android:fontFamily="@font/yekanbakh_regular"
                                android:text="@string/login"
                                android:textAllCaps="false"
                                android:textSize="17sp"
                                app:shapeAppearanceOverlay="@style/Button5" />

                            <Button
                                android:id="@+id/btnGuest"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:elevation="15dp"
                                android:fontFamily="@font/yekanbakh_regular"
                                android:text="@string/text_btn"
                                android:textAllCaps="false"
                                android:textSize="17sp"
                                android:visibility="gone"
                                app:shapeAppearanceOverlay="@style/Button5" />

                            <Button
                                android:id="@+id/btnNotGuest"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:elevation="15dp"
                                android:fontFamily="@font/yekanbakh_regular"
                                android:text="@string/text_btn"
                                android:textAllCaps="false"
                                android:textSize="17sp"
                                android:visibility="gone"
                                app:shapeAppearanceOverlay="@style/Button5" />

                            <ProgressBar
                                android:id="@+id/prLogin"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_centerInParent="true"
                                android:gravity="center"
                                android:visibility="invisible" />
                        </RelativeLayout>
                    </RelativeLayout>
                </LinearLayout>


            </androidx.cardview.widget.CardView>
        </androidx.core.widget.NestedScrollView>

    </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
android android-xml android-cardview
1个回答
0
投票

我编辑如下,干得好:

<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/constraintLoginFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/orangePeel_1"
    android:clickable="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    tools:context="ir.appinoo.presentation.ui.fragments.login.LoginFragment">

    <TextView
        android:id="@+id/txtTitleLogin"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"
        android:layout_marginRight="20dp"
        android:fontFamily="@font/yekanbakh_regular"
        android:gravity="right"
        android:text="@string/login_title"
        android:textSize="20sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toTopOf="@+id/txtDescLogin"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/txtDescLogin"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:fontFamily="@font/yekanbakh_regular"
        android:gravity="right"
        android:text="@string/login_title_desc"
        android:textStyle="bold"
        app:layout_constraintBottom_toTopOf="@+id/constContainLogin"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtTitleLogin" />

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/constContainLogin"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="15dp"
        android:background="@drawable/layout_bg"
        android:fitsSystemWindows="true"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtDescLogin">

        <androidx.core.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginStart="30dp"
            android:layout_marginEnd="30dp"
            android:fillViewport="true"
            android:scrollbars="none"

            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <androidx.cardview.widget.CardView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    app:cardCornerRadius="25dp"
                    app:cardElevation="10dp"
                    app:cardUseCompatPadding="true">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:orientation="vertical">

                        <com.google.android.material.textfield.TextInputLayout
                            android:id="@+id/txtInputPhone"
                            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="5dp"
                            android:layout_marginTop="20dp"
                            android:layout_marginRight="5dp"
                            android:hint="@string/hint_login_page"
                            app:boxStrokeColor="#4E4A4A"
                            app:errorEnabled="true"
                            app:shapeAppearanceOverlay="@style/Button4">

                            <com.google.android.material.textfield.TextInputEditText
                                android:id="@+id/edtPhone"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:digits="1234567890"
                                android:fontFamily="@font/yekanbakh_regular"
                                android:imeOptions="actionDone"
                                android:inputType="number"
                                android:textColor="@color/black"
                                android:textSize="15sp"
                                android:textStyle="normal" />
                        </com.google.android.material.textfield.TextInputLayout>

                        <com.google.android.material.textfield.TextInputLayout
                            android:id="@+id/txtInputActiveCode"
                            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="5dp"
                            android:layout_marginTop="5dp"
                            android:layout_marginRight="5dp"
                            android:hint="@string/active_code"
                            android:visibility="gone"
                            app:boxStrokeColor="#4E4A4A"
                            app:errorEnabled="true"
                            app:shapeAppearanceOverlay="@style/Button4">

                            <com.google.android.material.textfield.TextInputEditText
                                android:id="@+id/edtActiveCode"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:digits="1234567890"
                                android:fontFamily="@font/yekanbakh_regular"
                                android:imeOptions="actionDone"
                                android:inputType="number"
                                android:textColor="@color/black"
                                android:textSize="15sp"
                                android:textStyle="normal" />
                        </com.google.android.material.textfield.TextInputLayout>

                        <TextView
                            android:id="@+id/txtInterval"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginStart="8dp"
                            android:layout_marginEnd="8dp"
                            android:fontFamily="@font/yekanbakh_regular"
                            android:visibility="gone"
                            app:layout_constraintEnd_toEndOf="@id/txtInputActiveCode"
                            app:layout_constraintStart_toStartOf="@id/txtInputActiveCode"
                            app:layout_constraintTop_toBottomOf="@id/txtInputActiveCode" />

                        <com.google.android.material.textfield.TextInputLayout
                            android:id="@+id/txtInputNF"
                            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="5dp"
                            android:layout_marginTop="5dp"
                            android:layout_marginRight="5dp"
                            android:hint="@string/name_family"
                            android:visibility="gone"
                            app:boxStrokeColor="#4E4A4A"
                            app:errorEnabled="true"
                            app:shapeAppearanceOverlay="@style/Button4">

                            <com.google.android.material.textfield.TextInputEditText
                                android:id="@+id/edtNF"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/yekanbakh_regular"
                                android:imeOptions="actionNext"
                                android:inputType="text"
                                android:textColor="@color/black"
                                android:textSize="15sp"
                                android:textStyle="normal" />
                        </com.google.android.material.textfield.TextInputLayout>

                        <com.google.android.material.textfield.TextInputLayout
                            android:id="@+id/txtInputIdentificationCode"
                            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="5dp"
                            android:layout_marginTop="5dp"
                            android:layout_marginRight="5dp"
                            android:hint="@string/identification_code"
                            android:visibility="gone"
                            app:boxStrokeColor="#4E4A4A"
                            app:errorEnabled="true"
                            app:shapeAppearanceOverlay="@style/Button4">

                            <com.google.android.material.textfield.TextInputEditText
                                android:id="@+id/edtIdentificationCode"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:digits="1234567890"
                                android:fontFamily="@font/yekanbakh_regular"
                                android:imeOptions="actionDone"
                                android:inputType="number"
                                android:textColor="@color/black"
                                android:textSize="15sp"
                                android:textStyle="normal" />
                        </com.google.android.material.textfield.TextInputLayout>

                        <RelativeLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:layout_marginLeft="24dp"
                            android:layout_marginTop="20dp"
                            android:layout_marginRight="24dp"
                            android:layout_marginBottom="20dp"
                            android:gravity="center">

                            <RelativeLayout
                                android:id="@+id/rlBtnLogin"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content">

                                <Button
                                    android:id="@+id/btnLogIn"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:elevation="15dp"
                                    android:fontFamily="@font/yekanbakh_regular"
                                    android:text="@string/login"
                                    android:textAllCaps="false"
                                    android:textSize="17sp"
                                    app:shapeAppearanceOverlay="@style/Button5" />

                                <Button
                                    android:id="@+id/btnGuest"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:elevation="15dp"
                                    android:fontFamily="@font/yekanbakh_regular"
                                    android:text="@string/text_btn"
                                    android:textAllCaps="false"
                                    android:textSize="17sp"
                                    android:visibility="gone"
                                    app:shapeAppearanceOverlay="@style/Button5" />

                                <Button
                                    android:id="@+id/btnNotGuest"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:elevation="15dp"
                                    android:fontFamily="@font/yekanbakh_regular"
                                    android:text="@string/text_btn"
                                    android:textAllCaps="false"
                                    android:textSize="17sp"
                                    android:visibility="gone"
                                    app:shapeAppearanceOverlay="@style/Button5" />

                                <ProgressBar
                                    android:id="@+id/prLogin"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_centerInParent="true"
                                    android:gravity="center"
                                    android:visibility="invisible" />
                            </RelativeLayout>
                        </RelativeLayout>
                    </LinearLayout>
                </androidx.cardview.widget.CardView>
            </FrameLayout>
        </androidx.core.widget.NestedScrollView>

    </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
© www.soinside.com 2019 - 2024. All rights reserved.