利用ViewPager和WheelView实现横向纵向轮番滚动

如题如图,利用ViewPager和WheelView实现横向滚动带动纵向数据列表发生变化。


横向滚动:ViewPager

关于ViewPager的使用,网上已经有较多的介绍,这里说一点,之前我想利用ViewPager实现无限循环,虽然功能实现了,但是无法获取到当前每个view的ID,无论通过setTag还是setId都无法准确获取到无限循环中的view,所以导致在上述代码实现过程中,使用的还是传统有限view,限制其范围。要实现横向滚动带动纵向滚动,只需要在当前view的切换事件中,调用wheelview的setItems方法即可。

public void onPageSelected(int position) {
     wheelView.setOffset(1);
     Random random = new Random();
     switch (viewPager.findViewWithTag(position).getId()){
           case R.id.view_one:
                VIEWPAGERFLAG = "Tea";
                bitmap_byte = BaseTools.bitmapTobyte(context,R.drawable.view_tea);
                wheelView.clearWheelView();
                wheelView.setItems(Arrays.asList(InitWheelData.Tea));
                targer_infos =  InitWheelData.Tea_infos[random.nextInt(InitWheelData.Tea_infos.length)];
                break;
              ......
     }
}

纵向列表滚动:WheelView

实现纵向列表滚动的方法较多,利用ListView也可以实现滚动事件,基于网上比较流行的WheelView控件,可以单独的设置选中突出式样,包括字体的大小,颜色等,具体代码见附件。

源码下载:https://download.csdn.net/download/xiaoxun2802/10518497


发布了72 篇原创文章 · 获赞 42 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/xiaoxun2802/article/details/80908541
今日推荐