Android GridView ViewPager仿美团首页分类实现
2016-09-29 12:50:21  By: dwtedx

最近公司的项目需要用类似与美团首页的效果、大概思考了一下决定用 GridView ViewPager 的方式来做、然后通过两个Adapter来实现Item的加载和GridView的翻页效果、下面是Demo的效果图

android 仿美团分类


onCreate初始化

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mViewPagerGrid = (ViewPager) findViewById(R.id.vp);

    //FEATURE_20160216_1:添加仿美团Headerview begin
    initDatas();
    LayoutInflater inflater = LayoutInflater.from(this);
    //塞GridView至ViewPager中:
    int pageSize = pageColumn * pageRow;
    //一共的页数等于 总数/每页数量,并取整。
    int pageCount = (int) Math.ceil(mDatas.size() * 1.0 / pageSize);
    //ViewPager viewpager = new ViewPager(this);
    mViewPagerGridList = new ArrayList<View>();
    for (int index = 0; index < pageCount; index  ) {
        //每个页面都是inflate出一个新实例
        GridView grid = (GridView) inflater.inflate(R.layout.item_viewpager, mViewPagerGrid, false);
        grid.setAdapter(new GridViewAdapter(this, mDatas, index));
        mViewPagerGridList.add(grid);
    }
    //FEATURE_20160216_1:添加仿美团Headerview end
    mViewPagerGrid.setAdapter(new MyViewPagerAdapter(mViewPagerGridList));
}


GridViewAdapter代码

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Log.i("TAG", "position:"   position "   :" this);
    ViewHolder vh = null;
    if (convertView == null) {
        convertView = mLayoutInflater.inflate(R.layout.item_gridview_header, parent, false);
        vh = new ViewHolder();
        vh.tv = (TextView) convertView.findViewById(R.id.textView);
        vh.iv = (ImageView) convertView.findViewById(R.id.imageView);
        convertView.setTag(vh);
    } else {
        vh = (ViewHolder) convertView.getTag();
    }
    /**
     * 在给View绑定显示的数据时,计算正确的position = position   mIndex * mPageSize,
     */
    int pos = position   mIndex * mPageSize;
    vh.tv.setText(mDatas.get(pos).name);
    vh.iv.setImageResource(mDatas.get(pos).iconRes);
    return convertView;
}


android 仿美团首页分类源代码下载链接: android 仿美团分类 密码: egn2

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+