CoordinatorLayout
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/customTitleLayout">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="40dp"
app:contentScrim="@color/transparent"
app:expandedTitleGravity="center"
app:expandedTitleMargin="16dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<include
android:id="@+id/layout_top_points"
layout="@layout/fi_layout_top_coord"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginHorizontal="20dp"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.5" />
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="44dp"
app:layout_collapseMode="pin" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
监听处理显示隐藏
// 添加偏移量变化监听器
appBarLayout.addOnOffsetChangedListener(AppBarLayout.OnOffsetChangedListener { appBarLayout, verticalOffset ->
// verticalOffset 是负值,表示折叠的距离
val totalScrollRange = appBarLayout.totalScrollRange
val isCollapsed = verticalOffset == -totalScrollRange
if (isCollapsed) {
// 完全折叠
println("CollapsingToolbarLayout is fully collapsed")
} else {
// 未完全折叠
println("CollapsingToolbarLayout is not fully collapsed")
}
})
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="100dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/ll_one"
android:layout_width="match_parent"
android:layout_height="100dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="gone">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/cpsTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:layout_marginBottom="15dp"
android:text="@string/fi_cps_conso_points"
android:textColor="@color/color_222222"
android:textSize="15sp" />
<LinearLayout
android:id="@+id/cpsScoreLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="21dp"
android:layout_height="21dp"
android:layout_gravity="center"
android:src="@drawable/ic_big_coin" />
<com.yy.mobile.rollingtextview.RollingTextView
android:id="@+id/cpsTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:layout_marginStart="7dp"
android:gravity="center"
android:text="0.00"
android:textColor="@color/color_222222"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/cpsGoArrow"
android:layout_width="6.5dp"
android:layout_height="12dp"
android:layout_gravity="center"
android:layout_marginStart="3dp"
android:layout_marginTop="2dp"
android:src="@drawable/ic_arrow_cps_go" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingStart="5dp">
<ImageView
android:id="@+id/ivPocketImg"
android:layout_width="61dp"
android:layout_height="15dp"
android:layout_marginTop="3dp"
android:layout_marginBottom="15dp"
android:src="@drawable/conso_update_pocket" />
<LinearLayout
android:id="@+id/pocketScoreLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="21dp"
android:layout_height="21dp"
android:layout_gravity="center"
android:src="@drawable/ic_usdt" />
<com.yy.mobile.rollingtextview.RollingTextView
android:id="@+id/pocketTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:layout_marginStart="7dp"
android:gravity="center"
android:text="0.00"
android:textColor="@color/color_222222"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/pocketGoArrow"
android:layout_width="6.5dp"
android:layout_height="12dp"
android:layout_gravity="center"
android:layout_marginStart="3dp"
android:layout_marginTop="2dp"
android:src="@drawable/ic_arrow_cps_go" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_two"
android:layout_width="match_parent"
android:layout_height="100dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_gravity="center"
android:src="@drawable/ic_big_coin" />
<com.yy.mobile.rollingtextview.RollingTextView
android:id="@+id/cpsTextViewSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:layout_marginStart="4dp"
android:gravity="center"
android:text="0.00"
android:textColor="@color/color_222222"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_gravity="center"
android:layout_marginStart="25dp"
android:src="@drawable/ic_usdt" />
<com.yy.mobile.rollingtextview.RollingTextView
android:id="@+id/pocketTextViewSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:layout_marginStart="4dp"
android:gravity="center"
android:text="0.00"
android:textColor="@color/color_222222"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</LinearLayout>
</RelativeLayout>