实现类似滑动抽屉的功能

时间:2019-03-14 09:23:55

标签: android drawer slidingdrawer

我想将滑动抽屉添加到我的一项活动中,但发现自 API 17 起已弃用该抽屉。

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

弹出的抽屉/活动/片段内部只有按钮。我需要那个手柄按钮,并且我希望抽屉向上移动,直到手柄按钮触及屏幕顶部为止。

您能指出我可以用来实现这一目标吗?

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

选中下面的链接以供参考。

https://developer.android.com/reference/android/support/design/widget/BottomSheetDialog

答案 2 :(得分:1)

This是我为您询问的事情找到的最好的例子,请告诉我它是否有益。

答案 3 :(得分:0)

您可以通过使用Umano的AndroidSlidingUpPanel软件包来实现此目标

导入图书馆

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

将com.sothree.slidinguppanel.SlidingUpPanelLayout包含为活动布局中的根元素。 布局必须将重力设置为顶部或底部。确保它有两个孩子。 第一个孩子是您的主要布局。第二个孩子是您上滑面板的布局。 主布局的宽度和高度应设置为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> 

https://github.com/umano/AndroidSlidingUpPanel