三.
是一个基于实现的
代码实现
private void initBottomSheetDialog() {dialog = new BottomSheetDialog(this);View dialogView = LayoutInflater.from(this).inflate(R.layout.item_text, null, false);((TextView) dialogView.findViewById(R.id.text)).setText("bottomsheetDialog");dialog.setContentView(dialogView);dialog.hide();}
然后只需要调用.hide();或者show()方法就能实现的显示隐藏了.
文章插图
当然,也能调用状态监听,具体实现如下
private void setBehaviorCallback() {View view = dialog.getDelegate().findViewById(android.support.design.R.id.design_bottom_sheet);final BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(view);bottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {@Overridepublic void onStateChanged(@NonNull View bottomSheet, int newState) {if (newState == BottomSheetBehavior.STATE_HIDDEN) {dialog.dismiss();bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);}}@Overridepublic void onSlide(@NonNull View bottomSheet, float slideOffset) {}});}
四.
是一个实现侧滑删除的效果,比较简单
private void initSwipeDismissBehavior() {SwipeDismissBehavior swipe = new SwipeDismissBehavior();swipe.setSwipeDirection(SwipeDismissBehavior.SWIPE_DIRECTION_ANY);swipe.setListener(new SwipeDismissBehavior.OnDismissListener() {@Overridepublic void onDismiss(View view) {}@Overridepublic void onDragStateChanged(int state) {}});CoordinatorLayout.LayoutParams coordinatorParams =(CoordinatorLayout.LayoutParams)tv1 .getLayoutParams();coordinatorParams.setBehavior(swipe);}
五.$r
r的简单应用大家参考一下这篇文章吧
系统默认提供的毕竟只能实现一部分功能,下一篇博客我们将介绍如何使用自定义来实现复杂的功能.
- WPF中的Behavior及Behavior在MVVM模式下的应用
- android behavior教程
- 2behavior原理解析
- python简单绘图教程视频_python 简单的绘图工具turtle使用详解
- 【Java入门】-- Java基础详解之 [变量]
- 视频分布式上传方案详解
- 选购自动焊锡设备的三大要点详解
- Redis缓存服务器的 分片机制 和 哨兵机制 的配置与详解
- 安卓手机如何打开微信摄像头权限
- 安卓手机如何恢复出厂设置