Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


CoordinatorLayout con RecyclerView y EditText

Estoy desarrollando una pantalla de chat. Consiste en CollapsingToolbarLayout para la imagen de perfil de usuario, RecyclerView para la lista de mensajes y un cuadro de edición para enviar mensajes. No puedo averiguar si es posible fijar la caja de edición a la pantalla inferior y evitar que se desplace con el resto de la pantalla?

Logré casi lo que quiero si envuelvo CoordinatorLayout en un LinearLayout vertical y poner EditText fuera de CoordinatorLayout. Sin embargo, en este caso el comportamiento del teclado se desprende de RecyclerView – no se desplaza hacia arriba / abajo cuando se abre el teclado.

Si trato de poner EditText dentro de CoordinatorLayout se desplaza fuera de la pantalla, no sé si hay algún comportamiento especial que necesito para establecerlo

Mi diseño

<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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/keyboard_listener" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.design.widget.CoordinatorLayout android:id="@+id/coordinator" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" > <RecyclerView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" android:clipToPadding="false" android:focusableInTouchMode="true" android:paddingBottom="20dp" android:scrollbarStyle="outsideOverlay" android:scrollbars="vertical" android:transcriptMode="normal" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <android.support.design.widget.AppBarLayout android:id="@+id/app_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" > <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/screen_toolbar_container" android:layout_width="match_parent" android:layout_height="wrap_content" app:contentScrim="?attr/colorPrimary" app:layout_scrollFlags="scroll|exitUntilCollapsed|snap" app:titleEnabled="false" > <FrameLayout android:id="@+id/toolbar_fragment_container" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Toolbar android:id="@+id/screen_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@android:color/transparent" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:layout_collapseMode="pin" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> </android.support.design.widget.CoordinatorLayout> <EditText android:id="@+id/messageEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@null" android:hint="@string/send_hint" android:inputType="textCapSentences|textMultiLine" android:maxLength="2000" android:maxLines="4" android:padding="10dp" android:textSize="14sp"/> </LinearLayout> 

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.