今天从网上找到一个第三方控件swipemenulistview,封装好的一个控件,可以实现列表的左右滑动,模仿qq的列表效果

下载地址为:https://github.com/baoyongzhang/SwipeMenuListView

我们下载好之后,将这个项目导入到我们的工程当中去,

我个人感觉比较重要的是SwipeMenuLayout这个类,在这个类当中重写了好多方法,才能实现我们列表选项的左右滑动。

    @Overridepublic void computeScroll() {if (state == STATE_OPEN) {if (mOpenScroller.computeScrollOffset()) {// 要是没有滚动完 就启动滚动的动画
                swipe(mOpenScroller.getCurrX());postInvalidate();// //必须调用该方法,否则不一定能看到滚动效果
            }} else {if (mCloseScroller.computeScrollOffset()) {swipe(mBaseX - mCloseScroller.getCurrX());postInvalidate();}}}public void smoothCloseMenu() {state = STATE_CLOSE;//
        mBaseX = -mContentView.getLeft();//
        mCloseScroller.startScroll(0, 0, mBaseX, 0, 350);// 滚动的final位置
        postInvalidate();}// // 创建open动画public void smoothOpenMenu() {state = STATE_OPEN;mOpenScroller.startScroll(-mContentView.getLeft(), 0,mMenuView.getWidth(), 0, 350);postInvalidate();}// 创建close动画public void closeMenu() {if (mCloseScroller.computeScrollOffset()) {mCloseScroller.abortAnimation();}if (state == STATE_OPEN) {state = STATE_CLOSE;swipe(0);}}public void openMenu() {if (state == STATE_CLOSE) {state = STATE_OPEN;swipe(mMenuView.getWidth());}}

  这只是部分比较重要的代码,在我们工程中,我们如何去调用它

private void InitcehuaListView(View view) {// 初始化listView = (SwipeMenuListView) view.findViewById(R.id.listView);// ///// 这个是创建了一个滑动菜单的的listviewSwipeMenuCreator creator = new SwipeMenuCreator() {@Overridepublic void create(SwipeMenu menu) {ListViewMenuCreate(menu);}};// set creator
listView.setMenuCreator(creator);// listview要添加menu
}

  我们在创建的时候跳转到我们的ListViewMenuCreate这个方法

    // 值得注意的是 每一个listview的item创建的时候 SwipeMenu就创建了一次private void ListViewMenuCreate(SwipeMenu menu) {SwipeMenuItem kankanItem = new SwipeMenuItem(getActivity().getApplicationContext());// set item backgroundkankanItem.setBackground(new ColorDrawable(Color.rgb(0x33,0x66, 0xcc)));// 设置背景颜色// set item width// kankanItem.setWidth(dp2px(60));// 设置宽度
                    kankanItem.setWidth(SyllabusMethod.dp2px(60, getResources()));// set item titlekankanItem.setTitle("添加");// 设置第一个标题// set item title fontsizekankanItem.setTitleSize(18);// 设置标题文字的大小// set item title font colorkankanItem.setTitleColor(Color.WHITE);// 设置标题颜色// add to menumenu.addMenuItem(kankanItem);// 添加标题到menu类中SwipeMenuItem showItem = new SwipeMenuItem(getActivity().getApplicationContext());// set item backgroundshowItem.setBackground(new ColorDrawable(Color.rgb(0xC9,0xC9, 0xCE)));// 设置背景颜色// set item width// showItem.setWidth(dp2px(60));// 设置宽度showItem.setWidth(SyllabusMethod.dp2px(60, getResources()));// set item titleshowItem.setTitle("删除");// 设置第一个标题// set item title fontsizeshowItem.setTitleSize(18);// 设置标题文字的大小// set item title font colorshowItem.setTitleColor(Color.WHITE);// 设置标题颜色// add to menumenu.addMenuItem(showItem);// 添加标题到menu类中
                }

  我们将item加入到我们的menu中来,然后我们再去设置我们item的点击事件

listView.setOnMenuItemClickListener(new OnMenuItemClickListener() {public void onMenuItemClick(int position, SwipeMenu menu, int index) {ListmenuTimes = -1;String value = menu.getMenuItem(index).getTitle().toString();if (value.equals("添加")) {appliction.setCurrentchickpos(position + 1);Intent addkchengintent = new Intent(getActivity(),AddsyllabusActivity.class);startActivityForResult(addkchengintent,CommonCS.INTENT_GOTO_ADDSYLLABUS_CODE);} else if (value.equals("删除")) {boolean flag = SomeSqliteMethod.deleteCurrentItem(getActivity(), appliction.getCurrentdate(),(position + 1));if (flag) {Toast.makeText(getActivity().getApplicationContext(),"删除成功", Toast.LENGTH_SHORT).show();if (!Todaysyllabuslist.isEmpty()) {Todaysyllabuslist.clear();}int currentdate = appliction.getCurrentdate();InitMYTodayListData(currentdate);showlist();}}

  我们在相应的value中添加我们需要跳转的方法即可。然后我们就实现了列表的左右滑动

作者:杰瑞教育
出处:http://www.cnblogs.com/jerehedu/ 
本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/jerehedu/p/4440602.html

使用swipemenulistview实现列表的左右滑动相关推荐

  1. unity菜单滑动插件_unity游戏清新风格列表滚动视图滑动界面插件Super ScrollView for UGUI 2.4.1...

    Super ScrollView for UGUI  是一个清新风格的列表滚动视图滑动界面游戏插件. UGUI Super ScrollView gives easily-customizable S ...

  2. androidSwipeLayout简单用法,仿qq会话列表listview左右滑动

    1.概述 AndroidSwipeLayout,开发者是代码家, AndroidSwipeLayout 是一个支持ListView, GridView, ViewGroup等等左右上下滑动出操作菜单, ...

  3. 列表左右箭头滑动_我写了一套框架,把滑动窗口算法变成了默写题

    读完本文,你可以去力扣拿下如下题目: 76.最小覆盖子串 567.字符串的排列 438.找到字符串中所有字母异位词 3.无重复字符的最长子串 ----------- 鉴于前文 二分搜索框架详解 的那首 ...

  4. 监听列表ListVIew的滑动状态

    /*监听列表的滑动状态:暂时用不到* SCROLL_STATE_FLING 时让图片不显示,提高滚动性能让滚动小姑更平滑* SCROLL_STATE_IDLE 时显示当前屏幕可见的图片*/mListV ...

  5. android 左滑按钮,android开发类似微信列表向左滑动按钮操作

    话不多说,直接上代码,有详细的注释的. layout布局中: 主要是跟大家说一下listview怎么写: android:id="@+id/pull_refresh_viewId" ...

  6. vue列表左右箭头滑动_vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)...

    1.效果图如下 2.vue代码如下 indicator-position="none" :autoplay="false"> > {{items.b ...

  7. vue列表左右箭头滑动 vue+typescript实现左右箭头翻页,类似轮播图效果

    今天的内容是在工作终于到的问题,先上图吧: 这个是iview-design官网的tabs切换里面的内容,红色圈住的部分就是今天的内容,左右箭头可以切换,内容可以自定义. html代码: <div ...

  8. vue列表左右箭头滑动_Vue实现点击箭头上下移动效果

    {{item.name}} //i ↓ ↑ Vue.config.productionTip = false//不去提示 new Vue({ el: "#app", data() ...

  9. Android 滑动菜单框架--SwipeMenuListView框架完全解析

    SwipeMenuListView(滑动菜单) A swipe menu for ListView.--一个非常好的滑动菜单开源项目. Demo 一.简介 看了挺长时间的自定义View和事件分发,想找 ...

最新文章

  1. 用Python分析你是否已经实现荔枝自由了?
  2. NHibernate 配置文件的处理和使用多数据库的多层架构思路(第二部分)
  3. ABAP中查找代码的标准程序
  4. openssh设置免密码登录远程服务器
  5. GitHub学生包的介绍与申请
  6. 嵌入式设备带操作系统的启动过程
  7. python深入和扩展_加速方案 — Python扩展模块
  8. 设置api密钥_我应该将我的API密钥设置多长时间?
  9. linux获取主板温度电压_主板供电
  10. FbinstTools制作多系统启动U盘(Windows+Linux)
  11. centos7 | All matches were filtered out by modular filtering for argument: mysql-community-server
  12. buuctf——Warmup
  13. linux镜像包含redis吗,Linux虚拟机镜像\redis安装
  14. 像素、分辨率及PPI各自含义与区别及目前主流手机的分辨率介绍
  15. Oracle-12:伪列rowid和rownum
  16. VBA将excel中的多个工作表sheet合成一个工作表,多个工作簿的多个工作表合并为一个工作簿
  17. 实现判断商品折扣价格
  18. 计算机考研考什么科目?求解
  19. w550官方例程_过年打扫卫生,翻出了十年前的索爱W550,你用过吗?
  20. Openssl加密库

热门文章

  1. VCenter (虚拟架构环境的集中管理) 、数据库虚拟机迁移的影响
  2. NTP时间服务器搭建
  3. kotlin 从Helloword 开始
  4. mysql udf提权_MySQL日志安全分析技巧
  5. linux运行geoserver源码,Linux 下Geoserver 的部署
  6. Android快速阅读依赖的代码,Java Android快速阅读完整文件
  7. Java设计模式(二):观察者设计模式
  8. win7html文件,教你win7浏览器打不开本地html文件格式的解决方法
  9. java 滚动条 滚动_广告条随滚动条的移动而移动
  10. java按钮位置_java窗口按钮位置设置