ViewPager+GridView实现美团商品分类

            使用ViewPager+GridView实现横向滑动的效果,仿照美团的商品分类做了一个Demo,效果图如下:   

                                                         

1.将所有到的图片资源,放在minmap中

          

2.在values下,新建一个资源文件(arryas)

                 

代码如下:
                   其中一个array就是一个数组,name即使数组名,item就是一个元素,里面包裹元素的位置,从上到下,就是从零角标,不断增大,字符串的数组。

                   也就是建立两个数组,将需要显示的图片和文字放进去。

<resources>
    <array name="home_bar_labels">
        <item>美食</item>
        <item>电影</item>
        <item>酒店</item>
        <item>休闲娱乐</item>
        <item>自助餐</item>
        <item>KTV</item>
        <item>蛋糕甜点</item>
        <item>旅游</item>
        <item>购物</item>
        <item>摄影写真</item>
        <item>丽人</item>
        <item>生活服务</item>
        <item>门票</item>
        <item>抽奖公益</item>
        <item>今日新单</item>
        <item>全部分类</item>
    </array>
    <array name="home_bar_icon">
        <item>@mipmap/icon_home_food_99</item>
        <item>@mipmap/icon_home_movie_29</item>
        <item>@mipmap/icon_home_hotel_300</item>
        <item>@mipmap/icon_home_happy_2</item>
        <item>@mipmap/icon_home_self_189</item>
        <item>@mipmap/icon_home_ktv_31</item>
        <item>@mipmap/icon_home_93</item>
        <item>@mipmap/icon_home_400</item>
        <item>@mipmap/icon_home_3</item>
        <item>@mipmap/icon_home_37</item>
        <item>@mipmap/icon_home_42</item>
        <item>@mipmap/icon_home_life_46</item>
        <item>@mipmap/icon_home_18</item>
        <item>@mipmap/icon_home_16</item>
        <item>@mipmap/icon_home_999</item>
        <item>@mipmap/icon_home_all_0</item>
    </array>
</resources>
3.布局文件
注意 定义了的ViewPager,宽度200dp,在不同的机型会有问题
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<android.support.v4.view.ViewPager
    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现ViewPager中Fragment的无限循环,可以采用以下几个步骤: 1.在ViewPager的Adapter中重写getCount()方法,将其返回一个较大的值,例如Integer.MAX_VALUE,这样就可以让ViewPager中的Fragment无限循环。 2.在ViewPager的Adapter中重写getItem()方法,将其返回的position取模操作,以确保获取到正确的Fragment。 3.在ViewPager的Adapter中重写getPageTitle()方法,将其返回的title也进行取模操作,以确保获取到正确的title。 下面是一个示例代码: ```java public class MyPagerAdapter extends FragmentPagerAdapter { private static final int NUM_PAGES = 3; private List<Fragment> fragmentList; private List<String> titleList; public MyPagerAdapter(FragmentManager fm) { super(fm); fragmentList = new ArrayList<>(); titleList = new ArrayList<>(); for (int i = 0; i < NUM_PAGES; i++) { fragmentList.add(new MyFragment()); titleList.add("Page " + (i + 1)); } } @Override public Fragment getItem(int position) { return fragmentList.get(position % NUM_PAGES); } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public CharSequence getPageTitle(int position) { return titleList.get(position % NUM_PAGES); } } ``` 在上面的示例代码中,我们将ViewPager中的Fragment数量设置为3,然后在getCount()方法中返回一个较大的值Integer.MAX_VALUE,这样就可以让ViewPager中的Fragment无限循环。在getItem()和getPageTitle()方法中,我们对position取模操作,以确保获取到正确的Fragment和title。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值