RecyclerView oculta la barra de acción cuando se abre SoftKeyboard

Tengo el siguiente diseño

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/container"> <com.example.SendMessageLayout android:id="@+id/chatMessageLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" /> <View android:id="@+id/separator" android:layout_width="match_parent" android:layout_height="0dp" android:layout_above="@id/chatMessageLayout" android:background="@color/seperator_line_inpost" /> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe_container" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:layout_above="@id/separator" > <android.support.v7.widget.RecyclerView android:id="@+id/recycleView" style="@style/BeepMeListView" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/chatMessageLayout" android:layout_alignParentTop="true" android:transcriptMode="alwaysScroll" /> </android.support.v4.widget.SwipeRefreshLayout> </RelativeLayout> 

Mientras SendMessageLayout es sólo un diseño con EditText y un botón. En la implementación antigua, utilicé ListView antiguo y llano, así que cuando pedí el foco para el texto de edición aparecería un teclado, el listview no se movía y el primer elemento era visible. Pero con el RecyclerView todo se empuja hacia arriba, no sólo el elemento superior está fuera de la pantalla, pero todo el diseño está en la parte superior de la ActionBar.

Así es como se ve … RecycleView Captura de pantalla

2 Solutions collect form web for “RecyclerView oculta la barra de acción cuando se abre SoftKeyboard”

Basta con añadir un scrollview vacío, resuelto: RecyclerView oculta la barra de acción cuando SoftKeyboard se abre 解决 办法

Me gusta esto:

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_height="match_parent" android:layout_width="match_parent" tools:context="me.drakeet.seashell.ui.social.PostActivity"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> </ScrollView> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> <me.drakeet.seashell.widget.MultiSwipeRefreshLayout android:layout_weight="1" android:layout_marginBottom="4dp" android:id="@+id/swipe_refresh_layout" style="@style/BbsBackground" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/rv_reply_list" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="48dp"/> </me.drakeet.seashell.widget.MultiSwipeRefreshLayout> <include android:layout_gravity="bottom" android:layout_width="match_parent" android:layout_height="wrap_content" layout="@layout/view_reply"/> </LinearLayout> </FrameLayout> 

Tuve el mismo problema y lo resolví agregando

android:windowSoftInputMode="adjustResize"

En la etiqueta de actividad en el manifiesto

  • Cómo crear una tarjeta CardView horizontal con RecyclerView con una sola tarjeta en la pantalla a la vez
  • RecyclerView BackgroundColor
  • Capaz de hacer clic en dos elementos al mismo tiempo en un RecyclerView
  • Android RecyclerView con SectionIndexer
  • Efecto de ondulación de Android anulado por el estado seleccionado
  • ¿Cómo desplazar horizontalmente RecyclerView de forma programática?
  • Recyclerview de Android vs ListView con el usuario
  • Recyclerview Adaptador y Glide - misma imagen cada 4-5 filas
  • Cómo resaltar el elemento seleccionado de Recycler View?
  • Android: entradas en recyclerview
  • GetAdapterPosition () no devuelve la posición del elemento en RecyclerView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.