说明:
可以实现横向的双向滑动和纵向的竖向滑动,使用非常方便,只需要在布局中指定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实现