Android CV系列 > 分类的可以滑的

刚才看到一篇博客讲关于这个头部分类ViewPager+RecyclerView实现的.果断去CV...

https://github.com/hkq325800/GridViewPager

https://github.com/HeyMouser/MeiTuan

图片站过来

1.下载第一个依赖Library

2.XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#f0f"
    tools:context="com.as.app2_shape.MainActivity">
    <com.kerchin.widget.GridViewPager
        android:id="@+id/mGridViewPager"
        android:layout_height="180dp"
        android:background="#FFFFFF"
        android:layout_width="match_parent" />

</LinearLayout>

3.

private String[] titles = {"美食", "电影", "酒店住宿", "休闲娱乐", "外卖", "自助餐", "KTV", "机票/火车票", "周边游", "美甲美睫",
            "火锅", "生日蛋糕", "甜品饮品", "水上乐园", "汽车服务", "美发", "丽人", "景点", "足疗按摩", "运动健身", "健身", "超市", "买菜",
            "今日新单", "小吃快餐", "面膜", "洗浴/汗蒸", "母婴亲子", "生活服务", "婚纱摄影", "学习培训", "家装", "结婚", "全部分配"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        GridViewPager mGridViewPager = (GridViewPager) findViewById(R.id.mGridViewPager);
        //初始化数据源
        mGridViewPager
                //设置每一页的容量
                .setPageSize(10)
                .setGridItemClickListener(new GridItemClickListener() {
                    @Override
                    public void click(int pos, int position, String str) {
                        Toast.makeText(MainActivity.this, ("123"+ pos + "/" + str), Toast.LENGTH_SHORT).show();
                    }
                })
                .setGridItemLongClickListener(new GridItemLongClickListener() {
                    @Override
                    public void click(int pos, int position, String str) {
                        Toast.makeText(MainActivity.this, ("456"+ pos + "/" + str), Toast.LENGTH_SHORT).show();
                    }
                })
                //传入String的List 必须作为最后一步
                .init(initData());
        //再次更改仍有效
//        mGridViewPager.setImageSetListener(new ImageSetListener() {
//            @Override
//            public void setImage(ImageView iv, int pos) {
//                iv.setBackgroundResource(mImgRes.get(0));
//            }
//        });
        //再次更改仍有效
//        mGridViewPager.setGridItemClickListener(new GridItemClickListener() {
//            @Override
//            public void click(int pos, int position, String str) {
//                Log.d("GridItemClick", pos + "/" + str);
//            }
//        });
    }

    /**
     * 初始化数据源
     */
    private List<Model> initData() {
        List<Model> mData = new ArrayList<>();
        for (int i = 0; i < titles.length; i++) {
            //动态获取资源ID,第一个参数是资源名,第二个参数是资源类型例如drawable,string等,第三个参数包名
            int imageId = getResources().getIdentifier("ic_category_" + i, "mipmap", getPackageName());
            mData.add(new Model(titles[i], imageId));
        }
        return mData;
    }

猜你喜欢

转载自blog.csdn.net/FlyPig_Vip/article/details/82621598
今日推荐