Android AppBarLayout 是一个用于创建垂直线性布局的组件,它允许你在其中添加多种类型的子视图,如 AppBarLayout.LayoutParams.SCROLL | AppBarLayout.LayoutParams.EXIT_UNTIL_COLLAPSED 类型的子视图
AppBarLayout.LayoutParams layoutParams = new AppBarLayout.LayoutParams( AppBarLayout.LayoutParams.MATCH_PARENT, AppBarLayout.LayoutParams.SCROLL ); appBarLayout.setLayoutParams(layoutParams); AppBarLayout.LayoutParams layoutParams = new AppBarLayout.LayoutParams( AppBarLayout.LayoutParams.MATCH_PARENT, AppBarLayout.LayoutParams.COLLAPSE_MODE_PARALLAX ); appBarLayout.setLayoutParams(layoutParams); ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f); animator.setDuration(500); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { float value = (float) animation.getAnimatedValue(); appBarLayout.setTranslationY(-value * appBarLayout.getHeight()); } }); animator.start(); <androidx.core.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <!-- Your scrollable content goes here --> </androidx.core.widget.NestedScrollView> <com.google.android.material.appbar.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> <com.google.android.material.tabs.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMode="fixed"/> </com.google.android.material.appbar.AppBarLayout> <com.google.android.material.appbar.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <!-- Your child views go here --> </com.google.android.material.appbar.AppBarLayout> 通过使用这些技巧,你可以更好地利用 Android AppBarLayout 创建出功能丰富、布局美观的用户界面。