Android仿QQ列表滑动
Posted 码上夏雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android仿QQ列表滑动相关的知识,希望对你有一定的参考价值。
VastSwipeListView
一款支持自定义的仿QQ列表滑动控件
💫 特性
- 🤔 支持自定义菜单项,包括
标题
图标
菜单背景色
标题字体大小
图标大小
- 🤣 支持自定义菜单类别,包括
只有左菜单
只有右菜单
左右都有菜单
- 😏 支持自定义菜单打开和关闭时间
- 😎 支持自定义菜单
Interpolator
- 😛 提供初始值以便具有更好的兼容性
- 😁 分离式设计,使用
VastSwipeMenuMgr
进行样式管理 - 🙂 使用菜单项去定义菜单点击事件,避免接口化设计导致你需要重复书写if判断
👌如何使用
在你项目的 build.gradle
添加:
implementation 'io.github.sakurajimamaii:VastSwipeListView:0.0.1'
🛠 快速开始
-
在你的布局中添加
VastSwipeListView
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".SlideActivity"> <com.gcode.vastswipelayout.view.VastSwipeListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="match_parent" android:choiceMode="singleChoice"/> </LinearLayout>
-
使用
VastSwipeMenuItem
来定义你的菜单项,调用VastSwipeMenuMgr
内的方法将菜单项添加进去我们这里以定义撤销项举例
val deleteItem = VastSwipeMenuItem(this@SlideActivity) deleteItem.setBackgroundByColorInt(0xFF1e90ff) deleteItem.setTitleByString("撤销") deleteItem.setTitleColorByColorInt(Color.WHITE) deleteItem.setIconByResId(R.drawable.ic_delete) deleteItem.setClickEvent item: VastSwipeMenuItem, position: Int -> run Toast.makeText(this@SlideActivity, "$item.title $position", Toast.LENGTH_SHORT) .show() swipeMenuMgr.addLeftMenuItem(deleteItem)
-
准备列表项数据的adapter
val listViewAdapter = ListViewAdapter(this, R.layout.listview_item, lists)
-
将设置好的
VastSwipeMenuMgr
和列表项Adapter
传给VastSwipeListView
vastSwipeListView.setSwipeMenuMgr(swipeMenuMgr) vastSwipeListView.adapter = listViewAdapter vastSwipeListView.onItemClickListener = AdapterView.OnItemClickListener _, _, arg2, _ -> Toast.makeText( context, "位置 " + arg2 + " >>> value:" + lists[arg2], Toast.LENGTH_SHORT ).show()
👀 查看代码
以上是关于Android仿QQ列表滑动的主要内容,如果未能解决你的问题,请参考以下文章
android高仿小视频应用锁3种存储库QQ小红点动画仿支付宝图表等源码
android(仿QQ向右滑动退出)在viewpager中onTouchEvent无法监听到ACTION_DOWN的getX的值