Android 利用CoordinatorLayout vs Behavior机制自定义滑动删除布局

本文介绍了如何在Android中利用CoordinatorLayout和Behavior机制实现自定义滑动删除布局。通过SlidingView继承CoordinatorLayout并重写dispatchTouchEvent()方法,监听子view的滑动事件,结合自定义Behavior监听拖拽视图,实现在触摸时联动滑动的效果。文章还提到了布局中包含两个子View,并指定了特定ID用于后续操作。
摘要由CSDN通过智能技术生成

Android 利用CoordinatorLayout vs Behavior机制自定义滑动删除布局:


0.先给个图片样式。


1.滑动删除的实现有很多种,本文介绍自己初步实现的一个拖拽滑动的自定义布局。供参考。

2.原理:SlidingView继承CoordinatorLayout重写dispatchTouchEvent()方法在合适的时候对子view事件进行拦截。

3.SlidingView 包含2个子View ,2个子View分别分配自定义id。

4.实现自定义Behavior 实现SlidingView 内部隐藏的View监听滑动的View,以完成自身的变化。

5.这样在触摸时就会根据条件进行是否滑动的判断,一旦产生滑动DragV 就可以与MoveV联动。


6.首先先自定义2个ID 再后面需要分别指定给 MoveV 和 DragV 。后面见到不要忘记。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="id_slid_move_view" type="id"/>
    <item name="id_slid_drag_view" type="id"/>
</resources>
7.定义下Item的布局。

<?xml version="1.0" encoding="utf-8"?>
<com.yushilei.slidingview.widget.SlidingView 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="wrap_content"
                                             android:orientation="vertical">
    <!--此处注意 clickable="true"  需要MoveV能够接收到click事件  因为里面子View太少-->
    <LinearLayout
        android:id="@id/id_slid_move_view"
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值