如何在拉起或拉下时关闭片段?

Rah*_*hul 5 animation android android-layout android-fragments

我正在使用一个片段来显示评论和评级,我想放一个效果,就像当我们向上或向下拉片段时它会关闭或消失动画,就像facebook评论的布局一样.

这是我的布局,它包含Recyclerview.

在此输入图像描述

我希望当我向上或向下拉这个布局时,它像facebook评论布局那样关闭.

在此输入图像描述

你能告诉我一个如何实现这个功能的方法吗?

Ent*_*eco 1

一个简单的技巧(可能会根据您的用例而起作用)是使用BottomSheetBehaviour.

优点:

  • 不需要外部库(支持设计除外)
  • 相对容易上手
  • 有很多例子
  • 易于调整动画,基于public void onSlide(@NonNull View bottomSheet, float slideOffset)

您可以构建类似于以下代码片段的 xml:

<android.support.design.widget.CoordinatorLayout >
<android.support.design.widget.AppBarLayout >
    <android.support.design.widget.CollapsingToolbarLayout >
        <android.support.v7.widget.Toolbar />
    </android.support.design.widget.CollapsingToolbarLayout >
</android.support.design.widget.AppBarLayout >
<include layout="@layout/content_layout" />
<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:fitsSystemWindows="true"
    app:behavior_hideable="false"
    app:behavior_peekHeight="0dp"
    app:layout_behavior="@string/bottom_sheet_behavior">
    <include layout="@layout/bottom_sheet_content_view" />
</FrameLayout>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

一些入门帮助:

https://medium.com/@nullthemall/new-bottomsheet-caab21aff19b

https://code.tutsplus.com/articles/how-to-use-bottom-sheets-with-the-design-support-library--cms-26031