Issue
I'm trying to make a comments/chat layout with a RecyclerView
and a fixed EditText
at the bottom. Please don't say adjustPan
or adjustResize
. Does not work. adjustPan
hides the keyboard.
I really need help with this, it's getting really frustrating
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/appbarlayout"
android:paddingTop="@dimen/app_bar_top_padding">
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar"
android:id="@+id/toolbar"
app:titleTextColor="#FFFFFF" />
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/recycler_view"
android:layout_below="@+id/appbarlayout"
android:isScrollContainer="false"
android:stackFromBottom="true"
android:transcriptMode="normal"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#2b2b2b"
android:orientation="vertical"
android:id="@+id/chat_box"
android:layout_alignParentBottom="true">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?android:attr/listDivider"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Skriv en kommentar"
android:background="@android:color/transparent"
android:textColor="@color/white"
android:textColorHint="#d4d4d4"
android:inputType="textCapSentences|textMultiLine"
android:layout_marginRight="40dp"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_send"
android:background="@drawable/click"
android:layout_gravity="right|center_vertical" />
</FrameLayout>
</LinearLayout>
</RelativeLayout>
Solution
The correct answer is adjustResize, so the app is resized above the keyboard. However for that to work the rest of your layout needs to be written to be resizable. Yours isn't, as the recycler view isn't fixed in place. Add in a layout_above="@+id/chatBox"
constraint on it so it lays out above the edit text, and it should resize to fit the space properly.
Also, adjustPan doesn't hide the keyboard. If it does, you have something really wrong in your code. adjustPan slides your app up without resizing. Which may be what you want, if you can find out what in your app is hiding the keyboard.
Answered By - Gabe Sechan
Answer Checked By - Mildred Charles (JavaFixing Admin)