Android使用CoordinatorLayout实现底部弹出菜单

这篇文章主要为大家详细介绍了Android使用CoordinatorLayout实现底部弹出菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了使用CoordinatorLayout实现底部弹出菜单的具体代码,供大家参考,具体内容如下

第一步:添加依赖:

 compile "com.android.support:design:${project.properties.get("support")}" 

第二步:布局引用:

  //页面布局  

第三步:使用:

 //找到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);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持html中文网。

以上就是Android使用CoordinatorLayout实现底部弹出菜单的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 移动