Material design diseño scrollFlags significados


Descubro que podemos usar banderas geniales que desplacen tanto la barra de herramientas como el contenido usando layout_scrollFlags. En mi caso, tengo un diseño como este:

<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.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="snap"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="fixed"
            app:tabGravity="fill" />
    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>

Una de mis pestañas es un fragment y su diseño tiene un Recycle View con un edittext debajo del RecycleView. en primer lugar quiero saber lo que significa esta bandera

Google dice:

  • SCROLL_FLAG_ENTER_ALWAYS
    Al ingresar (desplazarse en la pantalla) la vista se desplazará en cualquier evento de desplazamiento hacia abajo, independientemente de si el la vista de desplazamiento también es desplazamiento.
  • SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED
    Un indicador adicional para 'enterAlways' que modifica la vista de retorno para que solo se desplace inicialmente a su altura colapsada.
  • SCROLL_FLAG_EXIT_UNTIL_COLLAPSED
    Al salir (desplazándose fuera de la pantalla) la vista se desplazará hasta que esté 'colapsada'.
  • SCROLL_FLAG_SCROLL
    La vista se desplazará en relación directa con los eventos de desplazamiento.
  • SCROLL_FLAG_SNAP
    Al final de un desplazamiento, si la vista es solo parcialmente visible, se ajustará y se desplazará hasta el borde más cercano.

Cambié esta bandera al azar y en algunos casos mi texto de edición se fue hasta que desplazé la barra de herramientas hacia arriba y luego apareció editar. He leído documentos de Google pero no pude hacerlo bien. Quiero entenderlo en términos simples.

Author: eRaisedToX, 2016-02-09

1 answers

No se si mi respuesta seguirá siendo relevante, pero sin embargo. En realidad, los documentos son suficientes para entender las cosas, solo tienes que jugar un poco.
La bandera de desplazamiento utilizada dentro del atributo app:layout_scrollFlags debe estar habilitada para que cualquier efecto de desplazamiento tenga efecto. Este indicador debe estar habilitado junto con enterAlways, enterAlwaysCollapsed, exitUntilCollapsed, o snap:

  • enterAlways: La vista se volverá visible al desplazarse hacia arriba. Esta bandera es útil en los casos en que se desplaza desde el al final de una lista y querer exponer la barra de herramientas tan pronto como el desplazamiento hacia arriba se lleva a cabo.
  • enterAlwaysCollapsed: Normalmente, cuando solo se usa enterAlways, la barra de herramientas continuará expandiéndose a medida que se desplace hacia abajo.Suponiendo que enterAlways está declarado y ha especificado un minHeight, también puede especificar enterAlwaysCollapsed. Cuando se utiliza esta configuración, la vista solo aparecerá a esta altura mínima. Solo cuando el desplazamiento llega a la parte superior, la vista se expandirá a su altura completa
  • exitUntilCollapsed: Cuando la bandera de desplazamiento se establece, el desplazamiento hacia abajo normalmente hará que todo el contenido a move.By especificando un minHeight y exitUntilCollapsed, la altura mínima de la barra de herramientas se alcanzará antes de que el resto del contenido comience a desplazarse y salir de la pantalla
  • snap: El uso de esta opción determinará qué hacer cuando una vista solo se ha reducido parcialmente. Si el desplazamiento termina y el tamaño de la vista se ha reducido a menos del 50% de su original, entonces esta vista volverá a su original Tamaño. Si el tamaño es superior al 50% de su tamaño, desaparecerá por completo.

Por favor, echa un vistazo a este blog debería ser realmente útil.

 61
Author: Yurii Tsap,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-09 11:35:12