为SwipeMenuListView 打上注释 (仅供参考)

为SwipeMenuListView 打上注释 (仅供参考)

1.首先 感谢提供开源的 大大 .
2.代码片段

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
     SwipeMenuLayout layout = null;
     if (convertView == null) {
        //获取我们自己定义的item 的布局。
         View contentView = mAdapter.getView(position, convertView, parent);
         //生成一个新的menu 对象。
         SwipeMenu menu = new SwipeMenu(mContext);
         //设置数据的对象的类型  依靠这个字段来 生成menu的类型  
         //demo里面 的DifferentMenuActivity 这个类里就用到这了这个参数。
         menu.setViewType(getItemViewType(position));
         //生成Item的方法  在本类中又一个 实现。这个其实是需要自己实现的  以便自己定义 自己Item 按钮的 属性(背景,颜色 字体大小之类的)。
         createMenu(menu);
         //生成新的ViewGroup 只是在我们的item 布局上添加了 createMenu(menu) 中生成的menu。该(SwipeMenuView)继承自Linearlayout
         //最终展示在界面上的Item布局 就是这个。(我们滑动的时候展示出来的布局)
         SwipeMenuView menuView = new SwipeMenuView(menu,
                 (SwipeMenuListView) parent);
         //给展示到界面上的Item添加事件
         menuView.setOnSwipeItemClickListener(this);
         //获取SwipeMenuListView(这个对象 是我们写在界面里面的SwipeMenuListView)对象
         //强转是为了  使用该类中自定义的 插入器(即listView.getCloseInterpolator())。
         SwipeMenuListView listView = (SwipeMenuListView) parent;
         //最终展示在界面上的item 上下 两层 表面上是我们 自己定义的布局 ,当我们滑动item的时候 就会展示 它右侧的 SwipeMenuView。
         //而SwipeMenuView 本生是一个继承linearLayout 所以我们可以 随意添加侧滑出来 按钮的个数
         //这个个数在SwipeMenu 中的List<SwipeMenuItem> mItems 的Size 就是数目。
         layout = new SwipeMenuLayout(contentView, menuView,
                 listView.getCloseInterpolator(),
                 listView.getOpenInterpolator());
         //记录Item的posion。
         layout.setPosition(position);
     } else {
         layout = (SwipeMenuLayout) convertView;
         //当view 处于打开状态时 滑动到 不可见时关闭它。
         layout.closeMenu();
         //时刻都要记录位置。
         layout.setPosition(position);
         //生成一个View 单好像没有用过这个view  (我也迷糊)
         View view = mAdapter.getView(position, layout.getContentView(),
                 parent);
     }
     //这个是最新版本才加入的东西   由于我很早之前用过这个开源觉得不错 所以最近闲的无事才准备写个注释 这个应该是新代码(之前没有)。
     //看样子是 现在支持 手动设置是否可 滑动。  
     if (mAdapter instanceof BaseSwipListAdapter) {
         boolean swipEnable = (((BaseSwipListAdapter) mAdapter).getSwipEnableByPosition(position));
         layout.setSwipEnable(swipEnable);
     }
     return layout;
 }

3.其他代码就不在 贴出来 所有的都在 我整理的 文件中
4.加注释的 源码地址https://github.com/zhoulinxue/SwipeMenuListView.git
5.原项目源码地址https://github.com/baoyongzhang/SwipeMenuListView

发布了16 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u013783167/article/details/51193285
今日推荐