我想达到3个州。
当滚动位置为9时,则显示全部内容为500 dp。用enterAlways完成了。
当我向下滚动时,我想将appbar折叠到最小高度。我得到的最小高度为88并退出UntillCollapsed。
当我向上滚动屏幕中间的某个位置时,我想用额外的40dp扩大最小面积,因此将显示128dip。在这里,我堆积了,唯一的想法就是将监听器添加到appbar并以编程方式将minheight增加到128。
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="500dip"
android:theme="@style/AppTheme.AppBarOverlay">
<com.google.androidstudio.motionlayoutexample.utils.CollapsibleToolbar xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/motionLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#1e376b"
android:minHeight="88dip"
app:layoutDescription="@xml/motion"
app:layout_scrollFlags="scroll|enterAlways|snap|exitUntilCollapsed">
<Button
android:id="@+id/m_button"
android:layout_width="60dip"
android:layout_height="40dip" />
</com.google.androidstudio.motionlayoutexample.utils.CollapsibleToolbar>
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/scrollable"
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="1\n2\n\3\n4\n5\n6\n7\n8\n\9\n10\n11\n12\n13\n\14\n1\n2\n\3\n4\n5\n6\n7\n8\n\9\n10\n11\n12\n13\n\14" />
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>