博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ListView侧滑菜单SwipeMenuListView的简单使用
阅读量:5946 次
发布时间:2019-06-19

本文共 3368 字,大约阅读时间需要 11 分钟。

hot3.png

第三方开源项目SwipeMenuListView

github上的链接地址是:

依赖:

dependencies {    compile 'com.baoyz.swipemenulistview:library:1.3.0'}

ps:我导入最新的Studio报错,不知道什么情况

那就只好导入源文件了

将library/ src/main/java/com/ baoyz/ swipemenulistview目录下的所有源代码文件放入自己的项目代码包中即可使用,源代码文件和包结构如图所示:

使用非常简单:

XML布局文件里直接调用

代码实现:

public class MainActivity extends AppCompatActivity {    private Context context;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        context=this;        setContentView(R.layout.activity_main);        //初始化        SwipeMenuCreator creator = new SwipeMenuCreator() {            @Override            public void create(SwipeMenu menu) {                SwipeMenuItem openItem = new SwipeMenuItem(context);                //设置背景                openItem.setBackground(new ColorDrawable(Color.GREEN));                //设置宽,一定要设置不然显示不出来                openItem.setWidth(dp2px(90));                //设置标题                openItem.setTitle("打开");                //设置文字大小                openItem.setTitleSize(20);                //设置文字颜色                openItem.setTitleColor(Color.WHITE);                //添加到listview中                menu.addMenuItem(openItem);                SwipeMenuItem deleteItem = new SwipeMenuItem(context);                deleteItem.setBackground(new ColorDrawable(Color.RED));                deleteItem.setWidth(dp2px(90));                //设置图片                deleteItem.setIcon(android.R.drawable.ic_delete);                 menu.addMenuItem(deleteItem);            }        };        SwipeMenuListView listView = (SwipeMenuListView) findViewById(R.id.listView);        listView.setMenuCreator(creator);        listView.setOnMenuItemClickListener(new SwipeMenuListView.OnMenuItemClickListener() {            @Override            public boolean onMenuItemClick(int position, SwipeMenu menu,int index) {                //index的值就是在SwipeMenu依次添加SwipeMenuItem顺序值,类似数组的下标。                //从0开始,依次是:0、1、2、3...                switch (index) {                    case 0:                        Toast.makeText(context, "打开:"+position,Toast.LENGTH_SHORT).show();                        break;                    case 1:                        Toast.makeText(context, "删除:"+position,Toast.LENGTH_SHORT).show();                        break;                }                // false : 当用户触发其他地方的屏幕时候,自动收起菜单。                // true : 不改变已经打开菜单的样式,保持原样不收起。                return false;            }        });        // 监测用户在ListView的SwipeMenu侧滑事件。        listView.setOnSwipeListener(new SwipeMenuListView.OnSwipeListener() {            @Override            public void onSwipeStart(int pos) {                Log.d("位置:" + pos, "开始侧滑...");            }            @Override            public void onSwipeEnd(int pos) {                Log.d("位置:" + pos, "侧滑结束.");            }        });        //测试数据集。        String[] data = new String[30];        for (int i = 0; i < data.length; i++) {            data[i] = "测试数据:" + i;        }        ArrayAdapter
adapter = new ArrayAdapter
(this,android.R.layout.simple_list_item_1, data); listView.setAdapter(adapter); } public int dp2px(float dipValue) { final float scale = this.getResources().getDisplayMetrics().density; return (int) (dipValue * scale + 0.5f); }}

转载于:https://my.oschina.net/u/3698786/blog/1808037

你可能感兴趣的文章
css选择器
查看>>
使用多线程
查看>>
Django--Uploaded Files以及Handlers
查看>>
在IIS(64位)上部署WCF服务访问Oracle数据库
查看>>
个人在 laravel 开发中使用到的一些技巧(持续更新)
查看>>
iOS之KVO
查看>>
数组的代替品
查看>>
BZOJ-1878: [SDOI2009]HH的项链(莫队算法)
查看>>
Python3 定时访问网页
查看>>
两种算法解决查找子串的问题:hdu1711
查看>>
老板,让我们专注的工作【写给老板的一封信】
查看>>
LBS突围:从微信到微博
查看>>
SFB 项目经验-40-Skype for Business-呼入正常-呼出不正常
查看>>
吴忌寒江卓尔批“闪电网络”背后,是链圈和矿圈的的利益之争
查看>>
python的cls,self,classmethod,staticmethod
查看>>
应用系统中常见报表类型解析
查看>>
[Silverlight入门系列]使用MVVM模式(9): 想在ViewModel中控制Storyboard动画?
查看>>
3 项目计划
查看>>
SQL Server 2008 下载地址(微软官方网站)
查看>>
如何对已经发布过的InfoPath模板进行修改
查看>>