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 創建出功能豐富、布局美觀的用戶界面。