Android使用CoordinatorLayout实现底部弹出菜单
更新时间:2018年11月09日 16:53:40 作者:楠之枫雪
这篇文章主要为大家详细介绍了Android使用CoordinatorLayout实现底部弹出菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了使用CoordinatorLayout实现底部弹出菜单的具体代码,供大家参考,具体内容如下
第一步:添加依赖:
compile "com.android.support:design:${project.properties.get("support")}"
第二步:布局引用:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#04827c"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> //页面布局 </RelativeLayout> <include //引入菜单布局 android:id="@+id/au_bottom_sheet" layout="@layout/view_audio_list" android:layout_width="match_parent" android:layout_height="match_parent" android:focusable="true" app:behavior_hideable="true" app:behavior_peekHeight="0dp" app:layout_behavior="@string/bottom_sheet_behavior" /> </android.support.design.widget.CoordinatorLayout>
第三步:使用:
//找到BottomSheetBehavior BottomSheetBehavior behavior = BottomSheetBehavior.from(findViewById(R.id.au_bottom_sheet)); //设置弹出高度 behavior.setPeekHeight(WindowHeight / 2); //默认隐藏 behavior.setState(BottomSheetBehavior.STATE_HIDDEN); //添加消失监听 behavior.setBottomSheetCallback(bottomSheetCallback);
添加菜单消失监听:
//状态监听,通过这个监听菜单是否消失 private BottomSheetBehavior.BottomSheetCallback bottomSheetCallback = new BottomSheetBehavior.BottomSheetCallback() { @Override public void onStateChanged(@NonNull View bottomSheet, int newState) { if (newState == BottomSheetBehavior.STATE_HIDDEN) { if (!isBehaviorShowing(behavior)) { //菜单已经消失 } } } @Override public void onSlide(@NonNull View bottomSheet, float slideOffset) { //滑动监听 } };
判断是否可见:
private Boolean isBehaviorShowing(BottomSheetBehavior behavior) { return behavior.getState() == BottomSheetBehavior.STATE_COLLAPSED || behavior.getState() == BottomSheetBehavior.STATE_EXPANDED || behavior.getState() == BottomSheetBehavior.STATE_SETTLING; }
收回菜单:
behavior.setState(BottomSheetBehavior.STATE_HIDDEN);
弹出菜单:
behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Android开发使用URLConnection进行网络编程详解
这篇文章主要介绍了Android开发使用URLConnection进行网络编程,结合实例形式分析了Android URLConnection对象创建、属性、方法及相关使用技巧,需要的朋友可以参考下2018-01-01Android 中使用 dlib+opencv 实现动态人脸检测功能
完成 Android 相机预览功能以后,在此基础上我使用 dlib 与 opencv 库做了一个关于人脸检测的 demo。接下来通过本文给大家介绍Android 中使用 dlib+opencv 实现动态人脸检测功能 ,需要的朋友可以参考下2018-11-11Android实现底部弹出PopupWindow背景逐渐变暗效果
这篇文章主要为大家详细介绍了Android实现底部弹出PopupWindow背景逐渐变暗效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-10-10Android添加ButterKnife时报错Error:(2, 0) Cannot add extension wit
今天小编就为大家分享一篇关于Android添加ButterKnife时报错Error:(2, 0) Cannot add extension with name 'android'的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2018-12-12
最新评论