引入
产品提了个常规需求,从底部弹框显示性别选择框,以前直接用原生AlertDialog或者自定义Dialog,这次想来个不一样的,查看开发文档发现BottomSheetDialog也可以实现,并且自带手势滑动和动画,于是开搞,实现效果如下。
效果图镇楼.png
效果可以。由于产品需要适配横屏,顺手试了下横屏,然后傻眼了,效果如下。
效果图镇楼.png
横屏状态下自定义的view没有显示全,需要手动上滑才能完全显示。习惯性点了下BottomSheetDialog源码,发现走onStart时BottomSheetBehavior把状态设置成STATE_COLLAPSED了,源码如下。
@Override
protected void onStart() {
super.onStart();
if (behavior != null && behavior.getState() == BottomSheetBehavior.STATE_HIDDEN) {
behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
}
于是试着写了个Base类继承BottomSheetDialog&#