安卓 swipeLayout 双向侧滑控件, 比 qq 侧滑删除效果更牛叉

2,090 阅读1分钟

说明:

可以实现横向的双向滑动和纵向的竖向滑动,使用非常方便,只需要在布局中指定leftview,contentview和rightview即可实现左右滑动效果,使用起来跟普通控件一样简单.
git地址,点击跳转
此处输入图片的描述

1.用法

1.引用

 compile 'com.z:SwipeLayout:1.0.0'

2.布局中使用

该控件继承自framlayout,必须要有三个自布局,一个是左边view,一个是中间view一个是右边view,使用中要指定view的id,自布局不用区分先后顺序.
注意一下三个属性的设置:
app_contentView_id=”@+id/middle”

    app_leftView_id="@+id/left"

    app_rightView_id="@+id/right"
<--如果用实现竖向的双向滑动,要用SwipeVertical布局即可-->
    

        

            

            

        

        

            

            

        

        

            

            

        

    
    

3.直接找到布局中的对应的控件,随意使用

mLeftLinearLayout = (LinearLayout) findViewById(R.id.left)
        mRightLinearLayout = (LinearLayout) findViewById(R.id.right)
        mMiddleLinearLayout = (LinearLayout) findViewById(R.id.middle)
        mSwiperSwipeHorizontal = (SwipeHorizontal) findViewById(R.id.swiper)

4.其他方法的使用


    public double getSPEED_LIMIT() {
        return SPEED_LIMIT;
    }

    public void setSPEED_LIMIT(double SPEED_LIMIT) {
        this.SPEED_LIMIT = SPEED_LIMIT;
    }

    public boolean isLeftOpen() {
        return isLeftOpen;
    }

    public boolean isRrightOpen() {
        return isRrightOpen;
    }
    
 public void openRight()
 //打开左边
 public void openLeft()
 //关闭,无论那边是打开的都可以关闭
 public void close()
 //设置打开关闭的监听器
public void setOnDragActionListener(OnDragActionListener listener)

5.竖向的双向滑动实现示例

跟横向的非常相像,只是把leftview换成topview,rightview换成了bottomview而已,打开方法是openTop()…..

    

        

            

            

        

        

            

            

        

        

            

            

        

    

6.已知bug和注意事项

1.bug:横向滑动的不支持设置左右padding值,纵向滑动不支持设置上下padding值,如果设置不会起到任何作用,
2.注意:此控件中有三个直接的子控件,必须设置,如果要实现只打开一边等功能,直接把另一边的view宽度或者高度设置为0即可,

2.原理

使用viewdraghelper实现