mpb
mpb

Reputation: 83

Layout not scrolling and Views overlapping when Keyboard is shown Android Constraint layout

I have facing an issue, where my login screen is not scrolling and views are overlapping with button when keyboard shows up.

below is the code for Login layout, can somebody help me why views are getting overlapped

i pasted the login layout file here, Linearlayout at the bottom of the layout file is overlapping with Linearlayout defined justabove it , when Keyboard is opened. and the view is not scrolling.

<data>

 <!-- databinding data here -->

</data>


<androidx.core.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"            
    android:fillViewport="true">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="">

        <androidx.constraintlayout.widget.Guideline
            android:id="@+id/top_guideline"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            app:layout_constraintGuide_percent="0.25" />

        <ImageView
            android:id="@+id/img_logo_login"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_constraintBottom_toBottomOf="@+id/top_guideline"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <TextView
            android:id="@+id/txt_title_m_id"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"                
           app:layout_constraintTop_toBottomOf="@+id/top_guideline" />

        <TextView
            android:id="@+id/txt_signin_proceed"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/txt_title_m_id" />



        <RelativeLayout
            android:id="@+id/rl_olk_sign"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginTop="25dp"
            android:layout_marginEnd="16dp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/txt_signin_proceed">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_toStartOf="@+id/txt_olk_sign"
                android:src="@drawable/ic_olk" />

            <TextView
                android:id="@+id/txt_olk_sign"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:padding="10dp"/>
        </RelativeLayout>

        <TextView
            android:id="@+id/txt_no_olk_credentials"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="62dp"
            android:layout_marginTop="30dp"
            android:layout_marginEnd="62dp"                    
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/rl_olk_sign" />

        <TextView
            android:id="@+id/txt_term_login"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="62dp"
            android:layout_marginTop="12dp"
            android:layout_marginEnd="62dp"                    
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/txt_no_olk_credentials"/>

        <TextView
            android:id="@+id/tv_signin_username_pwd"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:padding="10dp"
            android:layout_marginTop="@dimen/_10dp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/txt_term_login"/>



            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:lineHeight="21sp"
                android:padding="@dimen/_5dp"/>
        </RelativeLayout>

        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@+id/cl_input_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="gone"
            app:layout_constraintTop_toBottomOf="@+id/txt_signin_proceed">

            <com.google.android.material.textfield.TextInputLayout
                android:id="@+id/input_layout_user_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="10dp"
                android:layout_marginEnd="16dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent">

                <androidx.appcompat.widget.AppCompatEditText
                    android:id="@+id/et_input_user_name"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>
            </com.google.android.material.textfield.TextInputLayout>

            <com.google.android.material.textfield.TextInputLayout
                android:id="@+id/input_layout_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="5dp"
                android:layout_marginEnd="8dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/input_layout_user_name">

                <androidx.appcompat.widget.AppCompatEditText
                    android:id="@+id/et_input_password"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:inputType="textPassword"/>
            </com.google.android.material.textfield.TextInputLayout>

            <LinearLayout
                android:id="@+id/rl_sign_in_login"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="@dimen/_20dp"
                android:layout_marginEnd="16dp"
                android:layout_marginBottom="42dp"                    
                android:onClick="@{() -> callback.method2()}"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/input_layout_password">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:padding="10dp"
                    android:gravity="center"/>
            </LinearLayout>

        </androidx.constraintlayout.widget.ConstraintLayout>


        <LinearLayout
            android:id="@+id/rl_copy_right"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="@dimen/_5dp"


            android:orientation="vertical"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintBottom_toBottomOf="parent">


            <TextView
                android:id="@+id/tv_back_to_signin"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"                    
                android:gravity="center_horizontal"                    
                android:overScrollMode="always"
                android:layout_above="@id/tv_copyright_text"/>

            <TextView
                android:id="@+id/tv_copyright_text"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:gravity="center_horizontal"
                android:overScrollMode="always"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                android:visibility="visible" />
        </LinearLayout>
    </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>

Upvotes: 1

Views: 1034

Answers (1)

justArandomUser
justArandomUser

Reputation: 116

add this adjustResize to the activity tag in your manifest , then your view will shrink if keyboard opens.

 <activity
        android:name=".Activities.MyActivity"
        android:windowSoftInputMode="adjustResize"   ----->this tag
  />

and for your scroll it might help but let me know if it didnt , and post some screenshots of how your view looks.

Upvotes: 5

Related Questions