实现类似滑动抽屉的功能

Implement Sliding Drawer like functionality

我想在我的一个活动中添加一个滑动抽屉,但发现它已被弃用,因为 API 17.

我有兴趣做类似于 this one from androhub 的事情。

我弹出的drawer/activity/fragment里面只有按钮。我需要那个手柄按钮,我希望抽屉上升,直到手柄按钮到达屏幕顶部。

你能指出我可以用什么来实现这个吗?

BottomSheet 将从底部打开。 DrawerLayout 将从侧面打开。

您可以使用 BottomSheetDialog 实现相同的功能。

This 是我找到的最好的例子,如果有帮助请告诉我。

您可以使用 AndroidSlidingUpPanel package by Umano

正在导入库

dependencies {
  repositories {
     mavenCentral()
  }
  implement 'com.sothree.slidinguppanel:library:3.4.0'
}

将 com.sothree.slidinguppanel.SlidingUpPanelLayout 作为根元素包含在 activity 布局中。 布局必须将重力设置为顶部或底部。确保它有两个 children。 第一个 child 是您的主要布局。第二个 child 是向上滑动面板的布局。 主布局的宽度和高度应设置为 match_parent。滑动布局应将宽度设置为 match_parent,将高度设置为 match_parent、wrap_content 或所需的最大高度。 如果您想将高度定义为屏幕的百分比,请将其设置为 match_parent 并为滑动视图定义一个 layout_weight 属性。 默认情况下,整个面板会作为拖拽区域,会拦截点击和拖拽事件

例如xml

<com.sothree.slidinguppanel.SlidingUpPanelLayout
   xmlns:sothree="http://schemas.android.com/apk/res-auto"
   android:id="@+id/sliding_layout"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:gravity="bottom"
   sothree:umanoPanelHeight="68dp"
   sothree:umanoShadowHeight="4dp">

<TextView
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:gravity="center"
   android:text="Main Content"
   android:textSize="16sp" />

<TextView
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:gravity="center|top"
   android:text="The Awesome Sliding Up Panel"
   android:textSize="16sp" />
</com.sothree.slidinguppanel.SlidingUpPanelLayout>