重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文实例为大家分享了使用CoordinatorLayout实现底部弹出菜单的具体代码,供大家参考,具体内容如下
十年的普兰店网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整普兰店建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“普兰店网站设计”,“普兰店网站推广”以来,每个客户项目都认真落实执行。
第一步:添加依赖:
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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。