Android自定义View实现外卖首页分类导航

目录

目录

前言

最近有个项目需要做成类似外卖的首页分类导航那种效果,由于填充的数据是活的,另外还要求当数据少于一行的时候高度为一行高度,当数据行数大于指定行数时需要可以侧滑显示,因此花费了点时间自己写了一个控件,在此整理一下方便以后使用。

参考文章

我是参考https://www.gcssloop.com/tools/pager-grid-layoutmanager这篇文章写的控件,由于原代码不能实现自适应高度,因此我改写了一下测量控件高度部分的代码。

效果展示

使用方法

使用方法非常简单,首先你的数据实体类需要实现IndustryModule接口,然后可以适当调整R.layout.item_industry布局文件(id最好不修改,否则控件内部也需要做相应调整),然后设置数据设置点击事件即可。

private void initDatas() {
        ArrayList industryBeans = new ArrayList<>();
        for(int i = 0 ; i < 5 ; i ++){
            industryBeans.add(new IndustryBean("条目" + i,"https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2001382863,1289112909&fm=26&gp=0.jpg"));
        }
        //设置数据
        industryView.setDatas(industryBeans,R.layout.item_industry);
        //设置点击事件
        industryView.setOnItemSelectListener(new IndustryView.OnItemSelectListener() {
            @Override
            public void onItemSelect(IndustryBean model) {
                ToastUtils.showShort(model.getName());
            }
        });
    }

案例源码

https://github.com/myml666/FitnessLib

你可能感兴趣的:(Android自定义View实现外卖首页分类导航)