How to keep custom dialog design when softinputmode change like keyboard open/close?

32 Views Asked by At

I have designed custom dialog with the help of ConstraintLayout and EditText using DialogFragment in android. It is working fine. But issue only with Android version 11. When I open the dialog look fine but when keyboard open and close. View suddenly move to right side.

I have also tried with different type of layout LinearLayout, RelativeLayout and FrameLayout, but still facing the same problem.

Also tried to with different type of SoftInputMode adjustPan, adjustResize, adjustNothing, stateHidden and so on, but result is same.

my designed xml layout is look like.

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/clBirthWeight"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/list_container_padding"
        android:background="@drawable/white_child_container_bg"
        android:padding="@dimen/screen_container_padding"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TextView
            android:id="@+id/tvBirthWeight"
            style="@style/LabelStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/birth_weight"
            android:textSize="@dimen/caption"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@id/birth_weight"
            app:layout_constraintHorizontal_chainStyle="spread_inside"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <EditText
            android:id="@+id/birth_weight"
            style="@style/Theme.EZazi.EditText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:hint="@string/enter_birth_weight"
            android:imeOptions="actionNext"
            android:inputType="text"
            android:nextFocusForward="@id/apgar_1min"
            app:drawableEndCompat="@drawable/ic_space"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_chainStyle="spread"
            app:layout_constraintStart_toEndOf="@id/tvBirthWeight"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintWidth_percent="@dimen/obs_input_min_width"
            tools:ignore="TextFields" />

    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/clApgar1Min"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/list_container_padding"
        android:background="@drawable/white_child_container_bg"
        android:padding="@dimen/screen_container_padding"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/clBirthWeight">

        <TextView
            android:id="@+id/tvApgar1Min"
            style="@style/LabelStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/apgar_1min"
            android:textSize="@dimen/caption"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@id/apgar_1min"
            app:layout_constraintHorizontal_chainStyle="spread_inside"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <EditText
            android:id="@+id/apgar_1min"
            style="@style/Theme.EZazi.EditText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:hint="@string/enter_apgar_at_1_min"
            android:imeOptions="actionNext"
            android:inputType="text"
            android:nextFocusForward="@id/apgar_5min"
            app:drawableEndCompat="@drawable/ic_space"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@id/tvApgar1Min"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintWidth_percent="@dimen/obs_input_min_width" />

    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/clApgar5Min"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/list_container_padding"
        android:background="@drawable/white_child_container_bg"
        android:padding="@dimen/screen_container_padding"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/clApgar1Min">

        <TextView
            android:id="@+id/tvApgar5Min"
            style="@style/LabelStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/apgar_5min"
            android:textSize="@dimen/caption"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@id/apgar_5min"
            app:layout_constraintHorizontal_chainStyle="spread_inside"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <EditText
            android:id="@+id/apgar_5min"
            style="@style/Theme.EZazi.EditText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:hint="@string/enter_apgar_at_5_min"
            android:imeOptions="actionNext"
            android:inputType="text"
            android:nextFocusForward="@id/sex"
            app:drawableEndCompat="@drawable/ic_space"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@id/tvApgar5Min"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintWidth_percent="@dimen/obs_input_min_width" />

    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/clBabySex"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/list_container_padding"
        android:background="@drawable/white_child_container_bg"
        android:padding="@dimen/screen_container_padding"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/clApgar5Min">

        <TextView
            android:id="@+id/tvBabySex"
            style="@style/LabelStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/sex"
            android:textSize="@dimen/caption"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@id/sex"
            app:layout_constraintHorizontal_chainStyle="spread_inside"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <EditText
            android:id="@+id/sex"
            style="@style/Theme.EZazi.EditText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:hint="@string/enter_sex_of_baby"
            android:imeOptions="actionNext"
            android:inputType="text"
            android:nextFocusForward="@id/baby_status"
            app:drawableEndCompat="@drawable/ic_space"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@id/tvBabySex"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintWidth_percent="@dimen/obs_input_min_width" />

    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/clBabyStatus"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/list_container_padding"
        android:background="@drawable/white_child_container_bg"
        android:padding="@dimen/screen_container_padding"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/clBabySex">

        <TextView
            android:id="@+id/tvBabyStatus"
            style="@style/LabelStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/baby_status"
            android:textSize="@dimen/caption"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@id/baby_status"
            app:layout_constraintHorizontal_chainStyle="spread_inside"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <EditText
            android:id="@+id/baby_status"
            style="@style/Theme.EZazi.EditText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:hint="@string/enter_baby_status"
            android:imeOptions="actionNext"
            android:inputType="text"
            android:nextFocusForward="@id/mother_status"
            app:drawableEndCompat="@drawable/ic_space"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@id/tvBabyStatus"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintWidth_percent="@dimen/obs_input_min_width" />

    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/clMotherStatus"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/list_container_padding"
        android:background="@drawable/white_child_container_bg"
        android:padding="@dimen/screen_container_padding"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/clBabyStatus">

        <TextView
            android:id="@+id/tvMotherStatus"
            style="@style/LabelStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/mother_status"
            android:textSize="@dimen/caption"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@id/mother_status"
            app:layout_constraintHorizontal_chainStyle="spread_inside"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <EditText
            android:id="@+id/mother_status"
            style="@style/Theme.EZazi.EditText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:hint="@string/enter_mother_status"
            android:imeOptions="actionDone"
            android:inputType="text"
            app:drawableEndCompat="@drawable/ic_space"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@id/tvMotherStatus"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintWidth_percent="@dimen/obs_input_min_width" />

    </androidx.constraintlayout.widget.ConstraintLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

You can see in the below attached video what kind of issue I am facing with softinputmode.

Issue with keyboard open and close

Tried so hard with multiple solutions, but still the same.

I will be thankful to you for your help and solution.

0

There are 0 best solutions below