кнопка внизу экрана при запуске фрагмента под экраном (наполовину видимая) - PullRequest
0 голосов
/ 16 апреля 2020

у меня есть фрагмент для редактирования информации, в нижней части иерархии представления которого есть кнопка

есть две точки входа в этот фрагмент: одна, когда пользователь регистрируется, и другая, когда пользователь хочет редактировать свою / ее информация ...

в случае регистрации, когда фрагмент загружается, это можно увидеть на изображении (изображение 1)

, но когда я открываю клавиатуры, используя один из Edittext, а затем закройте клавиатуру, все идет как надо на первом этапе! (изображение 2)

в случае второй точки входа также нет проблем! (изображение 3)

screenshots

вот мой xml файл для этого фрагмента (спасибо за вашу помощь)

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background">

<com.google.android.material.appbar.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <com.google.android.material.appbar.MaterialToolbar
        android:layout_width="match_parent"
        android:layout_height="?actionBarSize"
        app:contentInsetEnd="0dp"
        app:contentInsetStart="0dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingStart="16dp"
            android:paddingEnd="16dp">

            <ImageView
                android:id="@+id/ivLogout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_marginStart="-8dp"
                android:onClick="onClick"
                android:padding="8dp"
                android:src="@drawable/ic_logout" />

            <TextView
                android:id="@+id/tvToolbar"
                style="@style/tvTitle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_centerVertical="true"
                android:textColor="@color/onPrimary" />

            <TextView
                android:id="@+id/tvPhoneNumber"
                style="@style/tvContent"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_marginStart="8dp"
                android:layout_toEndOf="@id/ivLogout"
                android:textColor="@color/onPrimary" />

        </RelativeLayout>

    </com.google.android.material.appbar.MaterialToolbar>

</com.google.android.material.appbar.AppBarLayout>

<androidx.core.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clipToPadding="false"
        android:padding="8dp">

        <LinearLayout
            android:id="@+id/layoutBasicInfo"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">


            <com.google.android.material.card.MaterialCardView
                android:id="@+id/layoutProfilePicture"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="8dp"
                android:layout_weight="6"
                android:clickable="true"
                android:focusable="true"
                app:cardCornerRadius="@dimen/cvCorner"
                app:cardElevation="@dimen/cvElevation">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@drawable/ripple_on_surface">

                    <ImageView
                        android:id="@+id/ivProfilePicture"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:adjustViewBounds="true"
                        android:scaleType="centerCrop" />

                    <View
                        android:layout_above="@+id/tvProfileLabel"
                        android:layout_width="match_parent"
                        android:layout_height="1dp"
                        android:background="@color/gray"/>

                    <TextView
                        android:id="@+id/tvProfileLabel"
                        style="@style/tvContent"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_alignParentBottom="true"
                        android:background="@color/surfaceOverlay"
                        android:gravity="center"
                        android:paddingTop="8dp"
                        android:paddingBottom="8dp"
                        android:text="@string/profile_picture" />

                    <ImageView
                        android:id="@+id/ivAddProfilePicture"
                        android:layout_width="24dp"
                        android:layout_height="match_parent"
                        android:layout_above="@+id/tvProfileLabel"
                        android:layout_alignParentTop="true"
                        android:layout_centerHorizontal="true"
                        android:src="@drawable/ic_plus" />


                    <ImageView
                        android:id="@+id/ivDeleteProfilePicture"
                        android:layout_width="24dp"
                        android:layout_height="24dp"
                        android:layout_margin="8dp"
                        android:src="@drawable/ic_close2"
                        android:visibility="gone" />

                </RelativeLayout>

            </com.google.android.material.card.MaterialCardView>


            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="10"
                android:orientation="vertical">

                <com.google.android.material.card.MaterialCardView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_margin="8dp"
                    app:cardCornerRadius="@dimen/cvCorner"
                    app:cardElevation="@dimen/cvElevation">

                    <EditText
                        android:id="@+id/etFname"
                        style="@style/EditText"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:hint="@string/fname"
                        android:imeOptions="actionNext"
                        android:inputType="text"
                        android:nextFocusForward="@id/etLname"
                        android:paddingTop="12dp"
                        android:paddingBottom="12dp" />

                </com.google.android.material.card.MaterialCardView>

                <com.google.android.material.card.MaterialCardView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_margin="8dp"
                    app:cardCornerRadius="@dimen/cvCorner"
                    app:cardElevation="@dimen/cvElevation">

                    <EditText
                        android:id="@+id/etLname"
                        style="@style/EditText"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:hint="@string/lname"
                        android:imeOptions="actionNext"
                        android:inputType="text"
                        android:nextFocusForward="@id/etNationalCode"
                        android:paddingTop="12dp"
                        android:paddingBottom="12dp" />

                </com.google.android.material.card.MaterialCardView>

            </LinearLayout>

        </LinearLayout>

        <com.google.android.material.card.MaterialCardView
            android:id="@+id/layoutNationalCode"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/layoutBasicInfo"
            android:layout_margin="8dp"
            app:cardCornerRadius="@dimen/cvCorner"
            app:cardElevation="@dimen/cvElevation">

            <EditText
                android:id="@+id/etNationalCode"
                style="@style/EditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/national_code"
                android:imeOptions="actionDone"
                android:inputType="number"
                android:maxLength="10"
                android:paddingTop="12dp"
                android:paddingBottom="12dp" />

        </com.google.android.material.card.MaterialCardView>

        <com.google.android.material.card.MaterialCardView
            android:id="@+id/layoutGender"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/layoutNationalCode"
            android:layout_margin="8dp"
            android:clickable="true"
            android:focusable="true"
            app:cardCornerRadius="@dimen/cvCorner"
            app:cardElevation="@dimen/cvElevation">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/ripple_on_surface"
                android:paddingStart="16dp"
                android:paddingTop="14dp"
                android:paddingEnd="16dp"
                android:paddingBottom="14dp">


                <TextView
                    android:id="@+id/tvGender"
                    style="@style/tvContent"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentEnd="true"
                    android:layout_centerVertical="true"
                    android:text="@string/gender" />

                <ImageView
                    android:layout_width="12dp"
                    android:layout_height="12dp"
                    android:layout_centerVertical="true"
                    android:rotation="180"
                    android:src="@drawable/ic_chevron" />
            </RelativeLayout>


        </com.google.android.material.card.MaterialCardView>

        <com.google.android.material.card.MaterialCardView
            android:id="@+id/layoutLocation"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/layoutGender"
            android:layout_margin="8dp"
            app:cardCornerRadius="@dimen/cvCorner"
            app:cardElevation="@dimen/cvElevation">

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

                <RelativeLayout
                    android:id="@+id/layoutCity"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/ripple_on_surface"
                    android:clickable="true"
                    android:focusable="true"
                    android:paddingStart="16dp"
                    android:paddingTop="14dp"
                    android:paddingEnd="8dp"
                    android:paddingBottom="14dp">

                    <TextView
                        android:id="@+id/tvCity"
                        style="@style/tvContent"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentEnd="true"
                        android:text="@string/city" />

                    <ImageView
                        android:layout_width="12dp"
                        android:layout_height="12dp"
                        android:layout_centerVertical="true"
                        android:rotation="180"
                        android:src="@drawable/ic_chevron" />

                </RelativeLayout>

                <View
                    android:layout_width="1dp"
                    android:layout_height="24dp"
                    android:layout_gravity="center_vertical"
                    android:background="@color/gray" />

                <RelativeLayout
                    android:id="@+id/layoutProvince"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/ripple_on_surface"
                    android:clickable="true"
                    android:focusable="true"
                    android:paddingStart="8dp"
                    android:paddingTop="14dp"
                    android:paddingEnd="16dp"
                    android:paddingBottom="14dp">

                    <TextView
                        android:id="@+id/tvProvince"
                        style="@style/tvContent"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentEnd="true"
                        android:text="@string/province" />

                    <ImageView
                        android:layout_width="12dp"
                        android:layout_height="12dp"
                        android:layout_centerVertical="true"
                        android:rotation="180"
                        android:src="@drawable/ic_chevron" />

                </RelativeLayout>


            </LinearLayout>

        </com.google.android.material.card.MaterialCardView>

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="-8dp">

            <com.google.android.material.button.MaterialButton
                android:id="@+id/btnAction"
                style="@style/Button"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

        </FrameLayout>

    </RelativeLayout>

</androidx.core.widget.NestedScrollView>

...