实现类似滑动抽屉的功能
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>
我想在我的一个活动中添加一个滑动抽屉,但发现它已被弃用,因为 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>