Android 侧滑删除之SwipeDelMenuLayout

前段时间在git上get到SwipeDelMenuLayout侧滑删除,不依赖ListView或者RecyclerView,只要在item中即可,无耦合性。

效果图:

用法:

在build.gradle中配置:

 dependencies {
	        compile 'com.github.mcxtzhang:SwipeDelMenuLayout:V1.3.0'
	}

布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_marginBottom="1dp"
    android:background="@color/white"
    android:orientation="horizontal">

    <com.mcxtzhang.swipemenulib.SwipeMenuLayout
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:scrollbars="none"
        app:ios="false"
        app:leftSwipe="true"
        app:swipeEnable="true">

 <!-- Item内容 -->
        <RelativeLayout
            android:id="@+id/layout"
            android:layout_width="match_parent"
            android:layout_height="60dp">

            <com.wholesale.yzx.yxzwholesale.view.widght.CircleImageView
                android:id="@+id/iv_chat_photo"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_centerVertical="true"
                android:layout_marginLeft="15dp" />

            <TextView
                android:id="@+id/tv_chat_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="10dp"
                android:layout_toRightOf="@+id/iv_chat_photo"
                android:ellipsize="end"
                android:singleLine="true"
                android:textColor="@color/text_color_title"
                android:textSize="14sp" />

            <TextView
                android:id="@+id/tv_chat_message"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_marginBottom="10dp"
                android:layout_marginLeft="15dp"
                android:layout_toRightOf="@+id/iv_chat_photo"
                android:ellipsize="end"
                android:singleLine="true"
                android:textColor="@color/tv_color_gray"
                android:textSize="14sp" />

            <TextView
                android:id="@+id/tv_chat_time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_marginRight="15dp"
                android:layout_marginTop="10dp"
                android:textColor="@color/tv_color_gray"
                android:textSize="14sp" />
        </RelativeLayout>

        <!-- 以下都是侧滑菜单的内容依序排列 -->
    <Button
        android:id="@+id/btnTop"
        android:layout_width="60dp"
        android:layout_height="match_parent"
        android:background="#d9dee4"
        android:text="置顶"
        android:textColor="@android:color/white"/>

    <Button
        android:id="@+id/btnUnRead"
        android:layout_width="120dp"
        android:layout_height="match_parent"
        android:background="#ecd50a"
        android:clickable="true"
        android:text="标记未读"
        android:textColor="@android:color/white"/>

    <Button
        android:id="@+id/btnDelete"
        android:layout_width="60dp"
        android:layout_height="match_parent"
        android:background="@color/red_ff4a57"
        android:text="删除"
        android:textColor="@android:color/white"/>
    </com.mcxtzhang.swipemenulib.SwipeMenuLayout>
</LinearLayout>

功能详解:

isIos 切换到IOS阻塞交互模式,Android功能在交互模式下的非阻塞功能可以正常工作  
isSwipeEnable 是否支持侧滑的近距离功能  
isLeftSwipe 是否支持双向滑动

1 侧滑拉出菜单。

2 点击除了这个item的其他位置,菜单关闭。

3 侧滑过程中,不许父控件上下滑动。

4 多指同时滑动,屏蔽后触摸的几根手指。

5 不会同时展开两个侧滑菜单。

6 侧滑菜单时 拦截了长按事件。

7 侧滑时,拦截了点击事件。

8 通过开关 isLeftSwipe支持左滑右滑。

gitd地址:https://github.com/mcxtzhang/SwipeDelMenuLayout

猜你喜欢

转载自blog.csdn.net/zuo_er_lyf/article/details/81627323