我的编程空间,编程开发者的网络收藏夹
学习永远不晚

android教程viewpager自动循环和手动循环

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

android教程viewpager自动循环和手动循环

代码如下:
package com.imoyo.expert;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;

public class ExActivity extends Activity {
 ViewPager viewPager;
 ArrayList<View> list;
 ViewGroup main, group;
 boolean cunhuan = false;
 ImageView imageView;
 ImageView[] imageViews;
 private static int c_id = 0;
 static int page_id = 1;
 private Runnable switchTask = new Runnable() {
  public void run() {
   if (cunhuan) {
    viewPager.setCurrentItem(page_id); 
    page_id++;
   }
   cunhuan=true;
   Log.e("is_run", cunhuan+"");
   mHandler.postDelayed(switchTask, 3000);

  }
 };
 Handler mHandler = new Handler();
 @Override
 protected void onResume() {
  super.onResume();
  switchTask.run();
 }
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  getView();

  imageViews = new ImageView[list.size()];
  ViewGroup main = (ViewGroup) inflater.inflate(R.layout.activity_main,
    null);

  ViewGroup group = (ViewGroup) main.findViewById(R.id.viewGroup);

  viewPager = (ViewPager) main.findViewById(R.id.viewPager);

  for (int i = 0; i < 5; i++) {
   imageView = new ImageView(this);
   imageView.setLayoutParams(new LayoutParams(12, 12));
   imageViews[i] = imageView;
   if (i == 0) {
    imageViews[i].setBackgroundResource(R.drawable.img_blue_point);
   } else {
    imageViews[i].setBackgroundResource(R.drawable.img_white_point);
   }
   group.addView(imageView);
  }

  setContentView(main);
  ViewPagerAdapter adapter = new ViewPagerAdapter(this, list);
  viewPager.setAdapter(adapter);
  viewPager.setOnPageChangeListener(listener);
  viewPager.setCurrentItem(2);

 }

 public void getView() {
  inflater = getLayoutInflater();
  list = new ArrayList<View>();
  list.add(inflater.inflate(R.layout.item4, null));
  list.add(inflater.inflate(R.layout.item5, null));

  list.add(inflater.inflate(R.layout.item1, null));
  list.add(inflater.inflate(R.layout.item2, null));
  list.add(inflater.inflate(R.layout.item3, null));
  list.add(inflater.inflate(R.layout.item4, null));
  list.add(inflater.inflate(R.layout.item5, null));

  list.add(inflater.inflate(R.layout.item1, null));
  list.add(inflater.inflate(R.layout.item2, null));
 }

 OnPageChangeListener listener = new OnPageChangeListener() {

  @Override
  public void onPageSelected(int arg0) {
   if (arg0 == 0) {
    viewPager.setCurrentItem(5, false);
    page_id=5;
   } else if (arg0 == 8) {
    viewPager.setCurrentItem(3, false);
    page_id=3;
   }else{
    page_id=arg0;
   }
   Log.e("arg", arg0 + "");

   for (int i = 2; i < 7; i++) {
    imageViews[i - 2]
      .setBackgroundResource(R.drawable.img_white_point);
   }
   switch (arg0) {
   case 7:
   case 2:
    imageViews[0]
      .setBackgroundResource(R.drawable.img_blue_point);
    break;
   case 3:
   case 8:
    imageViews[1]
      .setBackgroundResource(R.drawable.img_blue_point);
    break;
   case 4:
    imageViews[2]
      .setBackgroundResource(R.drawable.img_blue_point);
    break;
   case 0:
   case 5:
    imageViews[3]
      .setBackgroundResource(R.drawable.img_blue_point);
    break;
   case 1:
   case 6:
    imageViews[4]
      .setBackgroundResource(R.drawable.img_blue_point);
    break;
   }

  }

  @Override
  public void onPageScrolled(int arg0, float arg1, int arg2) {
  }

  @Override
  public void onPageScrollStateChanged(int arg0) {

  }
 };
 private LayoutInflater inflater;
}

您可能感兴趣的文章:Android启动引导页使用ViewPager实现Android开发实战之漂亮的ViewPager引导页Android控件ViewPager实现带有动画的引导页Android UI设计与开发之使用ViewPager实现欢迎引导页面Android UI设计与开发之ViewPager仿微信引导界面以及动画效果Android UI设计与开发之ViewPager介绍和简单实现引导界面Android利用ViewPager实现用户引导界面效果的方法Android利用ViewPager实现滑动广告板实例源码Android ViewPager相册横向移动的实现方法Android开发实现的ViewPager引导页功能(动态加载指示器)详解


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

android教程viewpager自动循环和手动循环

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

android教程viewpager自动循环和手动循环

代码如下:package com.imoyo.expert; import java.util.ArrayList; import android.app.Activity;import android.os.Bundle;import a
2022-06-06

Android 使用ViewPager自动滚动循环轮播效果

对Android 利用ViewPager实现图片可以左右循环滑动效果,感兴趣的朋友可以直接点击查看内容详情。 主要介绍如何实现ViewPager自动播放,循环滚动的效果及使用。顺便解决ViewPager嵌套(ViewPager inside
2022-06-06

Android 使用viewpager实现无限循环(定时+手动)

循环轮播的方法有两种,一种是使用定时器另外一种是使用手指拨动,相比较而言,定时器实现循环播放比较容易,只要在定时器的消息里加上简单几段代码即可,下面分别就这两种方法给大家详解,具体详情请看下文吧。int count = adapter.ge
2022-06-06

Android开发 轮播广告Banner自动手动循环

Android开发 轮播广告自动手动循环示例 前言 最近学习安卓开发,老师给布置的作业,要求设计一个轮播广告,每隔几秒钟自动切换,循环播放。在网上找了好多篇文章都存在着一些小问题,琢磨了好几天才一一解决。我用的学校的三张图片示例,以下就是具
2022-06-06

Android 使用ViewPager实现图片左右循环滑动自动播放

ViewPager这个小demo实现的是可以左右循环滑动图片,下面带索引,滑到最后一页在往右滑动就要第一页,第一页往左滑动就到最后一页,先上效果图,用美女图片是我一贯的作风,呵呵1. 首先看一些layout下的xml
2022-06-06

Android RecyclerView打造自动循环效果

先看效果图主要处理的地方: 1、RecyclerView中Adapter的item个人可以无限轮询. 2、RecyclerView自动滑动 3、手指按下时滑动停止,手指抬起后继续自动滑动public class AutoPollRecycl
2022-06-06

Android巧用ViewPager实现左右循环滑动图片

ViewPager这个小demo实现的是可以左右循环滑动图片,下面带索引,滑到最后一页在往右滑动就要第一页,第一页往左滑动就到最后一页,先上效果图:1、首先看一些layout下的xml2022-06-06

Android ViewPager无限循环实现底部小圆点动态滑动

页面拖动到最后一页 再向下滑动回复到 第一页,第一页向前滑动回到 最后一页 同时,底部红色小圆点随着页面的滑动距离比例随时改变位置布局:
2022-06-06

Android怎么实现无限循环和自动轮播

要实现Android中的无限循环和自动轮播,可以使用ViewPager和PagerAdapter来实现。下面是实现的步骤:1. 创建一个ViewPager对象和一个PagerAdapter对象。2. 在PagerAdapter中重写getC
2023-10-18

Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)

前言:经常会看到有一些app的banner界面可以实现循环播放多个广告图片和手动滑动循环。本以为单纯的ViewPager就可以实现这些功能。但是蛋疼的事情来了,ViewPager并不支持循环翻页。所以要实现循环还得需要自己去动手。自己在网
2022-06-06

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

ViewPager是一个常用的Android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验。此外,某些区域性的ViewPager(例如展示广告或者公告之类的
2022-06-06

Android ViewPager怎么去实现无限循环滚动回绕效果

不懂Android ViewPager怎么去实现无限循环滚动回绕效果?其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解决,希望大家阅读完这篇文章后大所收获。android系统提供的ViewPager标准方式是左右可以自由滑动,但
2023-05-30

windows11怎么自动修复死循环

如果遇到 Windows 11 的死循环问题,可以尝试以下方法进行自动修复:1. 重启电脑:按住电源按钮长按几秒钟,直到电脑关机。然后再按下电源按钮启动电脑,看是否能够解决问题。2. 进入安全模式:在重启电脑时,按住 F8 或 Shift
2023-08-21

Android自定义可循环的滚动选择器CycleWheelView

最近碰到个项目要使用到滚动选择器,原生的NumberPicker可定制性太差,不大符合UI要求。 网上开源的WheelView是用ScrollView写的,不能循环滚动,而且当数据量很大时要加载的Item太多,性能非常低。 然后,还是自己写
2022-06-06

Android viewpager中动态添加view并实现伪无限循环的方法

本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法。分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里有一个需求,就是viewpager里面加
2022-06-06

Android实现循环平移动画示例

实现用一张背景图做循环从左往右平移动画。 1、实现两个animation xml文件,一个起始位置在-100%p ,一个在0%p。设置repeat属性为循环,重复。代码如下: 2022-06-06

js如何实现列表自动滚动循环播放

这篇文章主要介绍了js如何实现列表自动滚动循环播放的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇js如何实现列表自动滚动循环播放文章都会有所收获,下面我们一起来看看吧。1.实现效果图鼠标移入,暂停滚动; 鼠标移
2023-07-02

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录