ASwipeLayout一个强大的侧滑菜单控件
前言
该控件的优点:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、网页空间、营销软件、网站建设、任城网站维护、网站推广。
- 1.无论是在RecyclerView,ListView,还是LinearLayout等,只要是ViewGroup用该控件都能实现侧滑。
- 2.控件的手势滑动冲突已解决,不会出现嵌套到ScrollView等控件出现滑动不流畅的情况
- 3.控件使用简单,只需要在xml外套一层该控件就好了,秒接入
- 4.点击事件很方便,原来什么写法就什么写法
APK下载地址
cdn.xitu.io/2018/4/23/162f05b87f3923c0?w=258&h=258&f=png&s=32756">
1.效果图
2.使用方式其实挺简单的,在设计的时候,就是想着怎么简单怎么来
2.1引入库:
Step 1. Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
implementation 'com.github.WelliJohn:ASwipeLayout:0.0.2'
}
2.2在需要侧滑的布局的根布局中添加下面这段代码,注意注释的地方才是可以定制的:
//在这里是实现你的主item的东西,根据你们的项目随便添加
//在这里是实现右侧的菜单,根据你们的项目随便添加
注意在这里ll_content,right_menu_content是一定要的,这个id对应的布局不要自己去改变,以后有需要会放开,目前的话,一般的情况你们只需要定制主item的内容和右侧菜单栏了,在这里我也省去了定义一些额外的自定义view了,单纯就是用id,来区分主item和右侧的菜单。
3.因为RecyclerView中有复用Item的情况,针对这种情况的解决方案
因为item复用会使得当我们滑出某个menu的时候,再进行RecyclerView的上下滑动时,会使得其他的Item也滑出了menu,这就是item复用导致了布局错乱,所以针对这类型的问题的话,我在这里已经提供了OnSwipeStateChangeListener接口,在这里你们可以记录下滑动的状态,在onBindViewHolder方法里面,根据状态来设定Item是打开menu还是关闭menu:
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
final Person person = mDatas.get(position);
holder.scrollDelLl.setOpen(person.isOpen());
holder.scrollDelLl.setOnSwipeStateChangeListener(new OnSwipeStateChangeListener() {
@Override
public void onSwipeStateChange(boolean open) {
person.setOpen(open);
}
});
}
如上代码就可以解决Item复用导致布局错乱的问题了(粑粑再也不用担心RecyclerView复用的问题了)。
4.如果你们在项目使用的过程中,有心得需求或者是bug的话,可以在github上提你们的需求或者issue
5.代码已上传github,ASwipeLayout
名称栏目:ASwipeLayout一个强大的侧滑菜单控件
当前URL:http://lswzjz.com/article/pghpec.html