关于开源项目SwipeMenuListView的使用详解

Android仿qq下拉刷新及向左滑动列表----PullToRefresh, SwipeMenuListView开源项目整合 Github链接:https://github.com/licaomeng/Android-PullToRefresh-SwipeMenuListView-SamplePullToRefresh是一个非常完美的下拉刷新的开源项目,SwipeMenuListView是一个向左滑动ListView中item实现可以删除功能的开源项目。笔者在此将两套开源项目整合形成一套类似于手机qq那样同时支持下拉刷新 阅读详情

一个SwipeMenu的ListView的。

Demo

Screenshot

用法

第1步

  • 在布局XML加SwipeMenuListView
<com.baoyz.swipemenulistview.SwipeMenuListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

第2步

  • 创建SwipeMenuCreator添加项目。
SwipeMenuCreator creator = new SwipeMenuCreator() {

    @Override
    public void create(SwipeMenu menu) {
        // create "open" item
        SwipeMenuItem openItem = new SwipeMenuItem(
                getApplicationContext());
        // set item background
        openItem.setBackground(new ColorDrawable(Color.rgb(0xC9, 0xC9,
                0xCE)));
        // set item width
        openItem.setWidth(dp2px(90));
        // set item title
        openItem.setTitle("Open");
        // set item title fontsize
        openItem.setTitleSize(18);
        // set item title font color
        openItem.setTitleColor(Color.WHITE);
        // add to menu
        menu.addMenuItem(openItem);

        // create "delete" item
        SwipeMenuItem deleteItem = new SwipeMenuItem(
                getApplicationContext());
        // set item background
        deleteItem.setBackground(new ColorDrawable(Color.rgb(0xF9,
                0x3F, 0x25)));
        // set item width
        deleteItem.setWidth(dp2px(90));
        // set a icon
        deleteItem.setIcon(R.drawable.ic_delete);
        // add to menu
        menu.addMenuItem(deleteItem);
    }
};

// set creator
listView.setMenuCreator(creator);

第3步

  • 监听产品Click事件
listView.setOnMenuItemClickListener(new OnMenuItemClickListener() {
    @Override
    public boolean onMenuItemClick(int position, SwipeMenu menu, int index) {
        switch (index) {
        case 0:
            // open
            break;
        case 1:
            // delete
            break;
        }
        // false : close the menu; true : not close the menu
        return false;
    }
});

创建不同的菜单

  • 使用适配器的ViewType
    class AppAdapter extends BaseAdapter {

        ...

        @Override
        public int getViewTypeCount() {
            // menu type count
            return 2;
        }

        @Override
        public int getItemViewType(int position) {
            // current menu type
            return type;
        }

        ...
    }
  • Create different menus depending on the view type
    • 根据创建的视图类型不同的菜单

    SwipeMenuCreator creator = new SwipeMenuCreator() {

            @Override
            public void create(SwipeMenu menu) {
                // Create different menus depending on the view type
                switch (menu.getViewType()) {
                case 0:
                    // create menu of type 0
                    break;
                case 1:
                    // create menu of type 1
                    break;
                ...
                }
            }

        };
  • Demo

Screenshot

Other

  • OnSwipeListener
listView.setOnSwipeListener(new OnSwipeListener() {

    @Override
    public void onSwipeStart(int position) {
        // swipe start
    }

    @Override
    public void onSwipeEnd(int position) {
        // swipe end
    }
});
  • open menu method for SwipeMenuListView
    • 对于SwipeMenuListView打开菜单的方法

listView.smoothOpenMenu(position);
  • Open/Close Animation Interpolator
    • 打开/关闭动画插补

// Close Interpolator
listView.setCloseInterpolator(new BounceInterpolator());
// Open Interpolator
listView.setOpenInterpolator(...);

Screenshot

全面掌握SwipeListView在Android应用开发中的实现 本文还有配套的精品资源,点击获取 简介:SwipeListView是一个在Android平台上使用的开源组件,用于创建具有滑动交互功能的列表视图。本简介提供了如何集成和自定义SwipeListView的关键知识点,包括布局配置、适配器使用、滑动菜单设计、事件监听、动画效果添加、性能优化、自定义行为实现以及兼容性考虑。开发者可以通过这些指导步骤,在应用中实现具有特色的、交互丰... 阅读详情

相关推荐

eclipse和studio双版本:SwipeMenuListView-master

好用的ListView侧滑删除:SwipeMenuListView-master Eclipse和AS版本都在里面。

Android常用组件——定制化的SwipeListView

1、背景介绍 其实要实现的东西并不算太复杂,类似于QQ那样的ListView横向滑动展现删除控件而已。图示,如下: 2、SwipeListView 介绍一下,我在最开始实现这样的功能的时候,找到的是这样的一个开源控件,名字如标题,地址是:https://github.com/47deg/android-swipelistview 大家可以直接在GitHub上去看,不过这个项

ljtyzhr的专栏 1940

PullToRefreshSwipeListView:Android通过拉动刷新来实现SwipeListView

PullToRefreshSwipeListView Android implementing SwipeListView with Pull to Refresh 由于最近项目需要跟IOS风格(下拉刷新上拉加载、item滑动更多功能)同步,基于PullToRefresh和SwipeListView刚好能满足于我们的需求,但是找了很久的资料没有得到好的参考。因此笔者打算自己看看源码,然后尝试亲自合并一下。 准备 下拉刷新、上拉加载以及侧划动都是跟Touch事件密切相关的,如果你不知道这一块,那你确实需要补一下这方面的知识。 PullToRefresh 用过PullToRefresh开源库的同学应该非常熟悉内部机制,对于内部加载的真正View是采用泛型来适配的。因此,这里必须关注最外层的事件拦截。首先来看看继承关系(用PullToRefresh来举例): PullToRefreshListV

Android 原生控件ViewFlipper实现淘宝头条垂直滚动广告条

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。下面是部分资料截图,诚意满满:特别适合有开发经验的Android程序员们学习。不论遇到什么困难,都不应该成为我们放弃的理由!如果你看到了这里,觉得文章写得不错就给个赞呗?《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》

2401_84123056的博客 544

CAN-do-paser:Java开发的CAN总线数据帧解析库

CAN总线数据帧使用DBC文件信息解析为物理量,基于Java开发的数据解析工具。

佳瑞的博客 1133

双足肌肉骨骼机器人

Clone Alpha的技术突破标志着人类进入生物-机械融合的新纪元,但其影响远超技术范畴。从伦理框架重建(如拉马克进化算法中的知识传递机制)到经济模式革新(如UBI应对机器人失业潮),需全球协作制定前瞻性政策。若放任技术无序扩张,人类社会或将面临“能力断层”与“控制权丧失”的双重危机;反之,若以人类福祉为核心导向,仿生机器人亦可成为弥合残障歧视、提升整体文明层级的钥匙。当下选择,将决定人类究竟是技术的创造者,还是被重构的客体。

百态·数智思维 | 聚焦大数据、量化与未来AI 985

SwipeListView 详解 实现微信,QQ等滑动删除效果

Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。资源持续更新中,欢迎大家一起学习和探讨。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!Android开发知识点,真正体系化!**

2401_84046895的博客 649

接入穿山甲SDK时,Unity打Android包报错日志

SDK工程设置为Enable,项目工程设置为Disable。2、将unitypackage导入包名为:com.DefaultCompany.Myproject的另一个工程,打包报错。3、点击工程默认弹出Enable Android Auto-resolution 设置选项,点击Enable。1、新建一个空工程,设置包名为:com.ceshi.hewen,正常打包无报错,导出unitypackage。2、点击Reset to Defaults 重置参数,再点击ok关闭设置窗口。

不文不武的禾文 3582

Android开源框架之SwipeListView导入及模拟QQ侧滑

  SwipeListView是Github上的一个开源框架,地址:https://github.com/47deg/android-swipelistview   SwipeListView was born out of the need to add swipe gestures to ListView on Android.   因为开发需要整一个类似QQ侧滑删除的ListV...

dingmei9873的博客 250

Excel药品说明书数据库:从零开始搭建医药数据查询系统(附完整模板)

本文详细介绍了如何从零开始搭建Excel药品说明书数据库,提供完整的医药数据查询系统模板。涵盖数据库架构设计、数据清洗标准化、智能查询系统搭建及维护优化,帮助医药从业者高效管理药品信息,提升查询速度和准确性。

weixin_28327051的博客 233

C语言获取硬件信息(CPU序列号,硬盘序列号,网卡IP、MAC地址、是否插入网线)

本文主要介绍Linux和Windows下使用C语言获取各种硬件信息,包括CPU序列号、硬盘序列号、网卡信息(包括网卡名字、IP地址、MAC地址、网卡是否插入网线等)。

叶落花枯的博客 9378

Android 开源项目浅读-------SwipeMenuListView

最近想提升自己的能力,打算读一读别人的开源项目。先从简单的来吧,今天解读一下SwipeMenuListView, 该项目的地址为https://github.com/baoyongzhang/SwipeMenuListView。 首先看一下该项目的项目结构 参考Demo里面,定义了SwipeMenuListview类的对象,对该类进行操作的。那么我们看看该类吧,

nianhua120的专栏 1053

基于STM32的智能水温控制系统设计

智能水温控制系统广泛应用于家庭、工业、农业等多个场景,尤其在热水器、恒温泳池和地暖系统中,通过实时监测和调节水温,提高设备的效率和用户的舒适度。本文基于STM32微控制器设计了一个智能水温控制系统,能够实时监测水温、用户设置温度,并根据需要控制加热器或冷却装置,确保水温维持在设定范围内。系统能够根据用户设定自动控制加热和冷却设备,确保水温维持在舒适的范围内,并通过OLED屏实时显示水温信息。在生成的项目基础上,编写水温监测、目标温度设定、加热器和冷却装置控制、OLED数据显示以及超温报警的代码。

2401_88410555的博客 2474

开源项目SwipeMenuListView使用

转自:http://www.jcodecraeer.com/a/opensource/2014/1108/1940.html 介绍: ListView滑动菜单。  运行效果: 使用说明: 将Swipemenulistview添加到xml中: android:id="@+id/listView" android:layou

CDUT100的专栏 496

【扣子AI开发】如何开发一个图像生成智能体?

【扣子AI开发】如何开发一个图像生成智能体,从创建到发布

tl437002770的博客 2427

从零开始讲DDR(7)——modelsim独立仿真DDR4

本文主要内容为DDR4 MIG ip核仿真,modelsim独立仿真DDR4。在进行DDR仿真的时候,我们会面临一个以往常规仿真不存在的问题:DDR本身并不是一个我们通过RTL代码设计出来的部件,常规的模块或者IP仿真,都是基于RTL代码就能进行的,但是回顾一下我们DDR的开发流程,调用的IP核也只是MIG ip,其本质是一个DDRC+DDRPYH的组合,并不能模拟任何DDR本身的行为,因此,在进行仿真之前,我们首先要做的就是获取DDR的仿真模型。

apple_53311083的博客 3224

android qq下拉菜单样式,Android仿qq下拉刷新及向左滑动列表----PullToRefresh, SwipeMenuListView开源项目整合...

若是项目对您有帮助,欢迎小伙伴们在github上Star个人项目~gitPullToRefresh是一个很是完美的下拉刷新的开源项目,SwipeMenuListView是一个向左滑动ListView中item实现能够删除功能的开源项目。笔者在此将两套开源项目整合造成一套,相似于手机qq那样同时支持下拉刷新和向左滑动的列表。效果以下:github 两套框架整合的关键在于对Touch事件处理的把握,T...

weixin_29666341的博客 230

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

开源项目SwipeMenuListView学习笔记

SwipeMenuView里的每个菜单项都是个LinearLayout,其内部包含一个接口,用于将内部菜单项的点击事件暴露给外部 //菜单点击监听接口,用于向外暴露菜单项点击事件 public static interface OnSwipeItemClickListener { //view表示被点击的菜单,menu代表菜单数据,index表示被点击的菜单项索引

szyangzhen的专栏 2138

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android 开源项目浅读-------SwipeMenuListView-重写,八章,菜单响应

其实这个响应,改动的类很多基本都改动了。我就说一下思路,我们知道。我们的SwipeMenuView对象可以得到用户的Click函数,我们通过OnSwipeItemClickListener接口,将事件传递到SwipeMenuListView里面,SwipeMenuView又传递给它的实现类SwipeMenuAdapter类。而SwieMenuListView里面也有一个接口OnMenuItemCl

nianhua120的专栏 449

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ListView侧滑菜单SwipeMenuListView的简单使用

第三方开源项目SwipeMenuListView github上的链接地址是:https://github.com/baoyongzhang/SwipeMenuListView 依赖: dependencies { compile 'com.baoyz.swipemenulist...

qq_40567164的博客 302

SwipeMenuListView(滑动菜单)-SwipeMenuListView框架完全解析

SwipeMenuListView(滑动菜单) A swipe menu for ListView.--一个非常好的滑动菜单开源项目。 Demo   一、简介 看了挺长时间的自定义View和事件分发,想找一个项目练习下。。正好印证自己所学。 在github上找到了这个项目:SwipeMenuListView这的真不错,对事件分发和自定义View都很有启发

小小程序员 894

android studio swipelistview,ListView侧滑菜单SwipeMenuListView的简单使用

第三方开源项目SwipeMenuListView依赖:dependencies {compile 'com.baoyz.swipemenulistview:library:1.3.0'}ps:我导入最新的Studio报错,不知道什么情况那就只好导入源文件了将library/ src/main/java/com/ baoyz/ swipemenulistview目录下的所有源代码文件放入自己的项目代...

weixin_27268733的博客 550

利用第三方开源框架 SwipeMenuListView 实现用户的左右侧滑事件

利用第三方开源框架 SwipeMenuListView 实现用户的左右侧滑事件

antimage08的博客 2538
上一篇: 关于github开源项目Side-Menu.Android的使用详解
下一篇: Android ProgressBar详解以及自定义
yukuoyuan
博客等级 码龄11年 102粉丝 70原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值