Android开发使用SwipeMenuListView

释放双眼,带上耳机,听听看~!

第一步:下载源码包(添加依赖也可以)

https://github.com/baoyongzhang/SwipeMenuListView

第二步:复制文件到项目录下

第三步:File –> New –> Import Moudle 报错就修改 compileSdkVersion  minSdkVersion  targetSdkVersion和项目的build.gradle里的值一样即可

第四步:添加依赖,点击 File–>Project Structure,之后选择Dependencies  右侧绿色的+,选择Module Dependency,这样就导进来了。

第五步:listview三部曲:

实例化SwipeMenuListView,实例化adapter,设置SwipeMenuListView的adapter

第六步:设置侧滑menu

    creator = new SwipeMenuCreator() {
@Override
public void create(SwipeMenu menu) {
// create "open" item
SwipeMenuItem openItem = new SwipeMenuItem(
getApplicationContext());
// 设置背景颜色
openItem.setBackground(new ColorDrawable(Color.rgb(0xC9, 0xC9,
0xCE)));
// 设置宽度
openItem.setWidth(dp2px(90));
// 设置标题
openItem.setTitle("打开");
// 设置文字大小
openItem.setTitleSize(18);
//设置标题颜色
openItem.setTitleColor(Color.WHITE);
// 添加menu
menu.addMenuItem(openItem);
SwipeMenuItem deleteItem = new SwipeMenuItem(
getApplicationContext());
deleteItem.setBackground(new ColorDrawable(Color.rgb(0xF9,
0x3F, 0x25)));
deleteItem.setWidth(dp2px(90));
deleteItem.setTitle("删除");
deleteItem.setTitleSize(18);
deleteItem.setTitleColor(Color.WHITE);
menu.addMenuItem(deleteItem);
}
};
// 设置 creator
lv_chat.setMenuCreator(creator);

第七步:设置三个监听器:

    为ListView设置菜单项点击监听器,来监听菜单项的点击事件
mListView.setOnMenuItemClickListener(new
SwipeMenuListView.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(int position, SwipeMenu menu, int index) {
//position:列表项的下标
//index:菜单项的下标
ApplicationInfo item = mAppList.get(position);
switch (index) {
case 0:
//自己处理操作
break;
case 1:
//自己处理操作
break;
}
// true:其他已打开的列表项的菜单状态将保持原样,不会受到其他列表项的影响而自动收回
// false:已打开的列表项的菜单将自动收回
return false;
}
});
        // 设置侧滑监听器,监听侧滑开始和侧滑结束
// 注意:当我们将一个已经侧滑出来的菜单重新收回去的时候并不会调用onSwipeStart方法,
// 但是结束的时候依然会调用onSwipeEnd方法
mListView.setOnSwipeListener(new SwipeMenuListView.OnSwipeListener() {
@Override
public void onSwipeStart(int position) {
// swipe start
}
@Override
public void onSwipeEnd(int position) {
// swipe end
}
});

// 设置监听Menu状态改变的监听器(Menu的打开和关闭)
mListView.setOnMenuStateChangeListener(new SwipeMenuListView.OnMenuStateChangeListener() {
@Override
public void onMenuOpen(int position) {
}
@Override
public void onMenuClose(int position) {
}
});

人已赞赏
Android文章

Android开发全局异常捕获

2021-2-1 7:39:52

Android文章

android开发之内存泄露

2021-2-1 8:22:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索