Android RecycleView 实现左滑上下分层示例代码(自定义功能)

Android RecycleView 实现左滑上下分层示例代码(自定义功能),第1张

概述由于项目原因,需要在很多地方需要左划删除,并在后期会在item中不定增加功能。网上很多左划删除的demo,但大多封装的不太彻底,所以就试着自己进行封装。

由于项目原因,需要在很多地方需要左划删除,并在后期会在item中不定增加功能。网上很多左划删除的demo,但大多封装的不太彻底,所以就试着自己进行封装。

独立上下两层互补干扰,满足不同item的左划

底部功能项不定如(删除、收藏)

截图

独立Adapter的 *** 作方式

思路: public RCommonSlIDeAdapter(Object object,List datas,int layoutID,Class clazz,SlIDeItemHolder handle) {

在onCreateVIEwHolder中通过反射创建holder,保证数据的 *** 作通过回调函数,交给activity处理

Constructor constructor2 = mClazz.getConstructor(VIEw.class);holder = constructor2.newInstance(v);

上下分层

思路:创建底部xml布局,再通过addVIEw插入顶部vIEw,并交由activity处理,底部布局处理放在adapter中处理。

 Constructor constructor = VIEwHolderClass.SlIDeVIEwHolder.class.getConstructor(VIEw.class);   holder = constructor.newInstance(v);   VIEw contentVIEw = VIEw.inflate(parent.getContext(),mLayoutID,null);   VIEwGroup.LayoutParams params = new VIEwGroup.LayoutParams(VIEwGroup.LayoutParams.MATCH_PARENT,VIEwGroup     .LayoutParams.WRAP_CONTENT);   ((VIEwHolderClass.SlIDeVIEwHolder) holder).mRlSlIDContent.addVIEw(contentVIEw,params);   Constructor constructor2 = mClazz.getConstructor(VIEw.class);   holder = constructor2.newInstance(v);   ((VIEwHolderClass.SlIDeVIEwHolder) holder).mRlSlIDContent.getLayoutParams().wIDth = getScreenWIDth(parent.getContext());

独立功能项

思路:在xml布局中,不断增加item。并再回调函数中,对每个按钮选择性处理,并可动态添加

<linearLayout    androID:ID="@+ID/linDelete"    androID:layout_wIDth="100dp"    androID:layout_height="wrap_content"    androID:layout_alignParentRight="true"    androID:layout_centerVertical="true"    androID:layout_toRightOf="@+ID/rlSlIDContent"    androID:orIEntation="vertical"    >    <ImageVIEw     androID:ID="@+ID/slIDing_delete"     androID:layout_wIDth="30dp"     androID:layout_height="30dp"     androID:layout_gravity="center_horizontal"     androID:src="@drawable/icon_item_delete"     />   </linearLayout>
public class VIEwHolderClass { public static class SlIDeVIEwHolder extends RecyclerVIEw.VIEwHolder {  @BindVIEw(R.ID.slIDing_delete)  public ImageVIEw btn_Delete;  @BindVIEw(R.ID.rlSlIDContent)  public relativeLayout mRlSlIDContent;  @BindVIEw(R.ID.linSlIDeTitle)  public linearLayout mlinSlIDeTitle;  @BindVIEw(R.ID.tvSlIDeTitle)  public TextVIEw mTvSlIDeTitle;  public SlIDeVIEwHolder(VIEw vIEw) {   super(vIEw);   ButterKnife.bind(this,vIEw);  } } public static class ShopCarVIEwHolder extends SlIDeVIEwHolder {  @BindVIEw(R.ID.itemTv)  public TextVIEw mItemTv;  public ShopCarVIEwHolder(VIEw vIEw) {   super(vIEw);  } }}

代码如下:RecycleSlideDemo_jb51.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android RecycleView 实现左滑上下分层示例代码自定义功能)全部内容,希望文章能够帮你解决Android RecycleView 实现左滑上下分层示例代码(自定义功能)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1146537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存