一款支持自定义的仿QQ列表滑动控件
特性- 樂 支持自定义菜单项,包括 标题 图标 菜单背景色 标题字体大小 图标大小
- 藍 支持自定义菜单类别,包括 只有左菜单 只有右菜单 左右都有菜单
- 支持自定义菜单打开和关闭时间
- 支持自定义菜单 Interpolator
- 提供初始值以便具有更好的兼容性
- 分离式设计,使用 VastSwipeMenuMgr 进行样式管理
- 使用菜单项去定义菜单点击事件,避免接口化设计导致你需要重复书写if判断
-
在你的布局中添加 VastSwipeListView
-
使用 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() }
VastSwipeListView
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)