效果

单个item样式

多个item样式

横向item

自定义viewpager——可开关切换动画

public class NoAnimationViewPager extends ViewPager {public NoAnimationViewPager(Context context) {super(context);}public NoAnimationViewPager(Context context, AttributeSet attrs) {super(context, attrs);}@Overridepublic void setCurrentItem(int item, boolean smoothScroll) {super.setCurrentItem(item, smoothScroll);}@Overridepublic void setCurrentItem(int item) {//去除页面切换时的滑动翻页效果super.setCurrentItem(item, true);}
}

viewpager的adapter

/*** 作者:created by meixi* 邮箱:1085220040@qq.com* 日期:2020/1/6 15:40*/
public class ViewPagerAdapter extends PagerAdapter {private List<GridView> gridList;public ViewPagerAdapter() {gridList = new ArrayList<>();}public void add(List<GridView> datas) {if (gridList.size() > 0) {gridList.clear();}gridList.addAll(datas);notifyDataSetChanged();}@Overridepublic int getCount() {return gridList.size();}@Overridepublic int getItemPosition(Object object) {return POSITION_NONE;}@Overridepublic boolean isViewFromObject(View view, Object object) {return view == object;}@Overridepublic Object instantiateItem(ViewGroup container, int position) {container.addView(gridList.get(position));return gridList.get(position);}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {container.removeView((View) object);}
}

activity调用即可

private NoAnimationViewPager vp;
private ViewPagerAdapter mAdapter;
private List<GridView> gridList = new ArrayList<>();
private int WHAT_AUTO_PLAY = 1000;
private int autoPlayDuration = 2000;//刷新间隔时间
private int num = 0;
private boolean ifauto = true;
private List<GongXuEntity> mGongXuEntities = new ArrayList<>();
protected Handler mHandler = new Handler(new Handler.Callback() {@Overridepublic boolean handleMessage(Message msg) {if (msg.what == WHAT_AUTO_PLAY) {Log.e("lgq", "==33==" + ifauto);if (ifauto){num++;if (num==0){vp.setCurrentItem(num,false);}else {vp.setCurrentItem(num,true);}}if (mGongXuEntities.size() - 1 == num) {num = -1;}mHandler.sendEmptyMessageDelayed(WHAT_AUTO_PLAY, autoPlayDuration);}return false;}
});
mAdapter = new ViewPagerAdapter();
vp.setAdapter(mAdapter);
getdata();
showHostsj();
        vp.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {if (event.getAction() == MotionEvent.ACTION_DOWN || event.getAction() == MotionEvent.ACTION_MOVE) {ifauto = false;}if (event.getAction() == MotionEvent.ACTION_UP) {ifauto = true;}return false;}});
//圆点指示器mHandler.sendEmptyMessageDelayed(WHAT_AUTO_PLAY, autoPlayDuration);
    public void getdata() {for (int a = 0; a < 6; a++) {GongXuEntity entity = new GongXuEntity();entity.setCity("城市" + a);if (a % 2 == 0) {entity.setSupplyDemand("0");} else {entity.setSupplyDemand("1");}entity.setContent("领道风味" + a);mGongXuEntities.add(entity);}
//        mGongXuEntities.add(.......省略);}public void showHostsj() {for (int j = 0; j < mGongXuEntities.size(); j++) {GridView gridView = new GridView(this);HomeGridViewAdapter adapter = new HomeGridViewAdapter(mGongXuEntities, j);gridView.setTag(j);gridView.setNumColumns(1);gridView.setAdapter(adapter);gridList.add(gridView);gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {int index = Integer.parseInt(parent.getTag().toString()) * 1 + position;Log.i("lgq", "ii====" + index);//todo}});}mAdapter.add(gridList);}

demo链接:https://download.csdn.net/download/meixi_android/12106643

Android 使用ViewPager实现view轮播效果,单个item分页样式,多个item分页样式,横向listview相关推荐

  1. Android使用viewpager实现图片轮播效果

    自定义View实现图片轮播,实现了图片自动轮播,手动滑动,轮播标题,以及点击事件. 里面有很多注释 一.文件布局 二.代码 ImageBannerViewGroup类 /*** Created by ...

  2. android 自适应图片轮播,Android使用Recyclerview实现图片轮播效果的方法

    Android使用Recyclerview实现图片轮播效果的方法 发布时间:2020-06-23 15:47:58 来源:亿速云 阅读:113 作者:清晨 这篇文章将为大家详细讲解有关Android使 ...

  3. Android使用ViewPager实现图片轮播和手势滑动

    ViewPager常用来实现图片的轮播,比如淘宝首页,会把一些促销的商品的图片和描述信息来回的播放,这就是典型的使用ViewPager实现的. ViewPager属于布局管理器,允许用户通过页面翻转查 ...

  4. android 自动播放 幻灯片,Android自动播放Banner图片轮播效果

    本文实例为大家分享了Android自动播放Banner图片轮播的具体代码,供大家参考,具体内容如下 先看一下效果图 支持本地图片以及网络图片or本地网络混合. 使用方式: android:id=&qu ...

  5. Android fragment中广告图片轮播效果的实现(附图 )

    作者刚刚接触android小白一枚,这是本人在CSDN上写的第一篇博客..出于写博客的目的:一也是最重要的想让像我这样的android初学者少走点弯路,本以为这个功能实现起来挺简单的,但是项目要求在f ...

  6. Android UI 实现广告 Banner 轮播效果

    编写acitivity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android ...

  7. android首页图片轮播效果,Android_Android自动播放Banner图片轮播效果,先看一下效果图支持本地图 - phpStudy...

    Android自动播放Banner图片轮播效果 先看一下效果图 支持本地图片以及网络图片or本地网络混合. 使用方式: android:id="@+id/banner" andro ...

  8. Android使用ViewPager实现左右循环滑动及轮播效果

    ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验.此外,某些区域性的Vie ...

  9. android 广告效果图,android 仿首页广告轮播效果

    1.我们经常打开一个App会看到有广告图片轮播的效果,首先上效果图1.我们经常打开一个App会看到有广告图片轮播的效果,首先上效果图2.实现的过程1.轮播页面他是一 1.我们经常打开一个App会看到有 ...

最新文章

  1. Java条形码生成技术-Barcode4j
  2. 长方形与圆最近连线LISP_常见图形,圆形、长方形和正方形面积的计算
  3. MFC遍历窗体所有的控件
  4. C# Combobox联动
  5. python模仿windows文件管理_python – 在Windows中显示文件的资源管理器属性对话框...
  6. js unix时间戳转换
  7. 构造方法 c# 0106
  8. 关于TCP协议的大部分,面试常问的几点都在这理里了
  9. SpringBoot 快速整合 QuartZ
  10. MATLAB非线性可视化之线性系统相图
  11. 计算机操作系统笔记总结:Part1 计算机系统概述
  12. 关于LED限流电阻计算的那些事儿
  13. 通过一个html简单实现下载功能
  14. cmip5数据读取Matlab,CMIP5数据下载-其它文档类资源
  15. 已解决:Torch not compiled with CUDA enabled
  16. 长沙立坤文化怎么样?是骗子公司吗?网友想知道!
  17. 解决国内手机安装Google Play打开闪退问题
  18. Java Script 02
  19. chart.js使用学习——散点图
  20. 电子邮件头Received分析

热门文章

  1. 工作263:弹性布局 修改样式
  2. 前端学习(2742):重读vue电商网站52之路由懒加载
  3. 前端学习(2353):button按钮组件的使用
  4. 前端学习(1943)vue之电商管理系统电商系统之通过路由加载商品分类
  5. 前端学习(1900)vue之电商管理系统电商系统之渲染添加用户的表单自定义邮箱的规则
  6. 前端学习(1343):集合关联
  7. 项目管理(2):管理过程二
  8. mybatis学习(16):不使用接口的方式
  9. 第三十二期:你们都是怎么学Python的?
  10. java学习(163):同步方法锁