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


Vistas arriba y abajo de RecyclerView

Tengo un RecyclerView que exhibe contenido dinámico. Me gustaría mostrar este RecyclerView entre otras vistas. Por ejemplo, una vista se muestra arriba y una vista se muestra debajo de la RecyclerView:

View RecyclerView View 

Sin embargo, lo que intento no parece estar funcionando y el RecyclerView parece ocupar todo el espacio. Creo que el problema reside en el problema wrap_content , aunque he probado algunas soluciones sugeridas, como esta LinearLayoutManager personalizada , pero no parece arreglar mi problema.

Intento:

 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <!-- AppBar works fine; no issue here --> <android.support.design.widget.AppBarLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/app_bar_layout"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_height="?attr/actionBarSize" android:layout_width="match_parent" app:layout_collapseMode="pin"/> </android.support.design.widget.AppBarLayout> <!-- Not displaying; Tried different views --> <com.chrynan.taginput.view.TextInputWrapper android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/edit_text_container"> <AutoCompleteTextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/edit_text"/> </com.chrynan.taginput.view.TextInputWrapper> <!-- Takes up entire screen space --> <android.support.v4.widget.SwipeRefreshLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/swipe_refresh"> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/recycler_view"/> </android.support.v4.widget.SwipeRefreshLayout> <!-- Not displaying --> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/text_view"/> </LinearLayout> </android.support.design.widget.CoordinatorLayout> 

Pregunta: ¿Hay una manera de colocar y mostrar una Vista arriba y una Vista debajo de un RecyclerView? ¿Si es así, cómo? ¿O es mejor usar un ListView?

  • Android TextInputField Error de inflador
  • Estilizar texto en TabLayout
  • SnackBar y fitsSystemWindow
  • Diseño Android de Android TabLayout
  • Cómo implementar la pestaña de navegación inferior según la nueva guía de Google
  • CollapsingToolbarLayout y TabLayout
  • Fragmento sin desplazamiento en un ViewPager dentro de CoordinatorLayout
  • Cómo utilizar SwipeDismissBehavior.OnDismissListener en RecyclerView
  • 3 Solutions collect form web for “Vistas arriba y abajo de RecyclerView”

    ¿Qué pasa con el uso de weight ?

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://..." android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <View android:layout_width="match_parent" android:layout_height="wrap_content" /> <RecyclerView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> <View android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> 

    Esto puede no ser su solución típica, pero usted puede intentarlo sin embargo.

    ¿Cómo sobre el uso de un RelativeLayout en lugar de LinearLayout, y simplemente establecer el relleno superior e inferior de su SwipeRefreshLayout a la altura de sus vistas de la siguiente manera.

     <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <!-- your app bar --> <!-- Not displaying; Tried different views --> <com.chrynan.taginput.view.TextInputWrapper android:layout_width="match_parent" android:layout_height="150dp" android:layout_alignParentTop="true" android:id="@+id/edit_text_container"/> <!-- Takes up entire screen space --> <android.support.v4.widget.SwipeRefreshLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="150dp" android:paddingBottom="250dp" android:id="@+id/swipe_refresh"> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/recycler_view"/> </android.support.v4.widget.SwipeRefreshLayout> <!-- bottom view --> <TextView android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="250dp" android:id="@+id/text_view"/> </RelativeLayout> 

    Use el encabezado y el pie de página para RecyclerView, use viewtype en Recyclerview Adapter y agregue vista de encabezado y pie de página. El problema que enfrenta es debido a scollview múltiple en un diseño y la mejor solución es usar encabezado y pie de página, esto lo hará como single scrollview . Consulte este enlace para obtener más información https://stackoverflow.com/questions/26245139/how-to-create-recyclerview-with-multiple-view-type?rq=1

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