English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Primero, veamos el efecto gráfico que queremos lograr:
Después de investigar, descubrí que la mayoría de los métodos en línea se implementan de esta manera:
Escribir un layout idéntico al área que necesita flotar, primero establecer la visibilidad del área flotante en gone. Cuando el área flotante se desliza al borde superior, establecer la visibilidad del área flotante B en VISIBLE. De esta manera, parece que se mantiene flotando en la parte superior.
Aquí se presenta otro método:
usar los componentes del paquete design
<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="com.peipei.app.MainActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="250dp"> <android.support.design.widget.CollapsingToolbarLayout app:layout_scrollFlags="scroll" app:contentScrim="#000000" android:layout_width="match_parent" android:layout_height="220dp"> <TextView android:text="área de banner" android:gravity="center" android:textColor="#ffffff" android:background="#987545" android:layout_width="match_parent" android:layout_height="220dp"/> </android.support.design.widget.CollapsingToolbarLayout> <TextView android:gravity="center" android:layout_width="match_parent" android:layout_height="30dp" android:text="part flotante"/> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <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> </android.support.design.widget.CoordinatorLayout>
Pasos a seguir:
1、colocar el layout que necesita flotar fuera del CollapsingToolbarLayout y dentro del AppBarLayout
2、establecer el app:layout_scrollFlags del CollapsingToolbarLayout en scroll
3、establecer el app:layout_behavior para el NestedScroolView que se desliza
app:layout_behavior="@String/appbar_scrolling_view_behavior"
¡Se ha completado el gran trabajo (recuerda que la disposición raíz debe ser CoordinatorLayout)
Efecto final:
Resumen
Esto es todo sobre el efecto de deslizamiento a la parte superior flotante de Android, ¿han aprendido todos? Espero que este artículo les ayude en su aprendizaje o trabajo, si tienen alguna pregunta, pueden dejar un mensaje para discutir.