Saltar al contenido

¿Dónde debería establecerse ‘app: layout_behavior’?

Solución:

Consulta este enlace: https://developer.android.com/reference/android/support/design/widget/AppBarLayout.html

AppBarLayout también requiere un hermano de desplazamiento independiente para saber cuándo desplazarse. La encuadernación se realiza a través del
AppBarLayout.ScrollingViewBehavior clase, lo que significa que debe configurar el comportamiento de su vista de desplazamiento para que sea una instancia de AppBarLayout.ScrollingViewBehavior. Hay disponible un recurso de cadena que contiene el nombre completo de la clase.

Mencionaron sobre eso, debería ser el View que se mostrará debajo de la AppBarLayout como esto:

<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.support.v4.widget.NestedScrollView
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             app:layout_behavior="@string/appbar_scrolling_view_behavior">

         <!-- Your scrolling content -->

     </android.support.v4.widget.NestedScrollView>

     <android.support.design.widget.AppBarLayout
             android:layout_height="wrap_content"
             android:layout_width="match_parent">

         <android.support.v7.widget.Toolbar
                 ...
                 app:layout_scrollFlags="scroll|enterAlways"/>

         <android.support.design.widget.TabLayout
                 ...
                 app:layout_scrollFlags="scroll|enterAlways"/>

     </android.support.design.widget.AppBarLayout>

 </android.support.design.widget.CoordinatorLayout>

Mi pregunta es: en que exacto ViewGroup (o tal vez View) deberíamos poner eso app:layout_behavior?

Y en este enlace: http://guides.codepath.com/android/Handling-Scrolls-with-CoordinatorLayout

A continuación, necesitamos definir una asociación entre los AppBarLayout y
la vista que se desplazará. Agregar un app:layout_behavior a un
RecyclerView o cualquier otra vista capaz de realizar un desplazamiento anidado, como
NestedScrollView. La biblioteca de soporte contiene un recurso de cadena especial @string/appbar_scrolling_view_behavior que se asigna a
AppBarLayout.ScrollingViewBehavior, que se utiliza para notificar al
AppBarLayout cuando ocurren eventos de desplazamiento en esta vista en particular
. El comportamiento debe establecerse en la vista que desencadena el evento.

Asegúrate de haber agregado el appbar_scrolling_view_behavior campo en tu String.xml

<!-- The class name to the ScrollingChildBehavior required for AppBarLayout -->
<string name="appbar_scrolling_view_behavior" translatable="false">android.support.design.widget.AppBarLayout$ScrollingViewBehavior</string>

Y como todos saben, podemos usar esto como se muestra a continuación.

<android.support.v7.widget.RecyclerView
        android:id="@+id/rvSomeList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

Es solo para información, no para respuesta OP.

app:layout_behavior debe establecerse en aquellas vistas que son directamente secundarias del diseño del Coordinador

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *