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


Android Collapsing Toolbar que no usa inercia como Google Play App no

Estoy utilizando la Biblioteca de soporte de diseño de Android para crear una actividad con una barra de herramientas plegable con un efecto de atenuación agradable, al igual que Google Play o el perfil de contacto de Whatsapp. Voy a poner el diseño de la actividad al final, pero tenga en cuenta que este es sólo el diseño de actividad plegable por defecto a la que he añadido un ImageView a la AppBarLayout para crear la barra de herramientas <-> Image fade efecto.

Mi problema con esta implementación se presenta como 2 síntomas que describiré:

  • El contenido de la actividad es largo, cuando quiero desplazarme hacia arriba rápidamente con un rápido desplazamiento, el rollo se detendrá antes de expandir la barra de herramientas. Quiero que continúe, cuando estoy en la parte inferior de mi NestedScrollView y hago un rápido dedo deslizar para ir todo el camino a la parte superior de mi actividad Quiero que este desplazamiento ir y ampliar la barra de herramientas, esta es la forma en que el La aplicación de Google Play se comporta o el perfil de Whatsapp.

  • Del mismo modo, cuando la barra de herramientas se expande no hay inercia a la voluta, un rápido desplazamiento hacia abajo se desplazará un poco, de nuevo esto no es cómo se comporta el perfil de Google Play o Whatsapp. Una vez que la barra de herramientas se ha colapsado, la función de desplazamiento se comporta como siempre en ScrollViews, ListViews, etc. Un desplazamiento rápido le permitirá ir a la parte inferior o superior (a menos que haya mucho contenido).

¿El comportamiento que describo es compatible con la Biblioteca de soporte de diseño?

Activity.xml:

<?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" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".ScrollingActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/app_bar" android:fitsSystemWindows="true" android:layout_height="@dimen/app_bar_height_custom" android:layout_width="match_parent" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/toolbar_layout" android:fitsSystemWindows="true" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:contentScrim="?attr/colorPrimary"> <ImageView android:src="@drawable/cuthbert" app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="centerCrop" app:layout_collapseMode="parallax" android:minHeight="100dp"/> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_height="?attr/actionBarSize" android:layout_width="match_parent" app:layout_collapseMode="parallax" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_scrolling"/> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/fab_margin" app:layout_anchor="@id/app_bar" app:layout_anchorGravity="bottom|end" android:src="@android:drawable/ic_dialog_email"/> </android.support.design.widget.CoordinatorLayout> 

Content_scrolling.xml:

 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:showIn="@layout/activity_scrolling" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ScrollingActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/text_margin" android:text="@string/large_text"/> </android.support.v4.widget.NestedScrollView> 

  • Detectar cuándo AppBarLayout / CollapsingToolbarLayout está completamente expandido
  • Cómo implementar correctamente NestedScrollingChild en un WebView
  • Agregar el comportamiento de vista de desplazamiento de la barra de aplicaciones a varias vistas en CoordinatorLayout
  • Añadir icono con el título en CollapsingToolbarLayout
  • CollapsingToolbarLayout: contenido personalizadoScrim similar a Facebook
  • El desplazamiento no funciona con CoordinatorLayout + imagen de paralaje + BottomSheetLayout
  • Android AppBarLayout empuja ViewPager hacia abajo
  • Barra de herramientas para colapsar como Google Play Store
  • 2 Solutions collect form web for “Android Collapsing Toolbar que no usa inercia como Google Play App no”

    Intente agregar estas líneas en:

     <android.support.design.widget.CollapsingToolbarLayout app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:expandedTitleTextAppearance="@android:color/transparent" 

    Actualizar las bibliotecas de soporte a 26.0.0 (especialmente la biblioteca de diseño de soporte). Finalmente arreglaron este problema después de años de quejarse.

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