android教程viewpager自动循环和手动循环
发布时间:2021-07-23 12:03:06
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编程实现等比例显示图片的方法。分享给大家供大家参考,具体如下:在android中,由于密度的影响,如果想得到图片
- 在 Android 中倒计时功能是比较常用的一个功能,比如短信验证码,付款倒计时等。实现方式有Handler、Thread 等,但是实现起来
- 以前的Java项目中充斥了太多不友好的代码:POJO的Getter/Setter/toString等等,这些代码由于没有什么技术含量,影响了
- 1.以ApplocationContext上下文单例模式装配bean为例,深入探讨bean的生命周期:(1).生命周期图:(2).具体事例:
- 本文实例为大家分享了C#截取验证码图片的具体代码,供大家参考,具体内容如下使用Graphics类中的DrawImage方法,这个方法有30种
- 随着市面上越来越多三方APP的出现,某些手机厂商也开始对这些APP进行了安装限制或者运行限制,或者三方APP自身的版本过低,无法被特定的系统
- 本章主要建立在已经安装好Erlang以及RabbitMQ的基础上,接下来,简单介绍一下使用一、Direct直接模式 通过routingKey
- 嵌套表格,即在一张表格中的特定单元格中再插入一个或者多个表格,使用嵌套表格的优点在于能够让内容的布局更加合理,同时也方便程序套用。下面的示例
- 前言最近遇到很有意思转换二进制的问题,有部分童鞋俨然已了解,可能也有一部分童鞋没碰到过也就不知情,这里我们来深入学习下转换二进制所带来的问题
- 挂起和恢复线程 Thread 的API中包含两个被淘汰的方法,它们用于临时挂起和重启某个线程,这些方法已
- 前后端分离的项目,前端有菜单(menu),后端有API(backendApi),一个menu对应的页面有N个API接口来支持,本文介绍如何基
- android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Androi
- 昨天实现一个功能,根据文章的id或者别名查找文章。起初采用mybatis的Example进行查询,对参数artName进行判断,如果是纯数字
- 概述@SpringBootTest注解是SpringBoot自1.4.0版本开始引入的一个用于测试的注解。基本用法如下:1. 添加Maven
- Android中ImageView的使用:点击按钮,改变图片透明度,切换图片布局是三个按钮组件和一个ImageView组件<?xml
- 声明类定义类:class MyClass { // 字段、构造函数和 // 方法声明}
- 1.RecycledPool的重用场景以及使用:多个RecyclerView出现,并且他们的item布局结构一致,这时候可以进行重用。在进行
- 我就废话不多说了,大家还是直接看代码吧~<select id="getBiTree" parameterType=
- 1. 最小生成树连通图中的每一棵生成树 , 都是原图的极大无环子图 , 即: 从中删去任何一条边 , 生成树就不再连通;反之 , 在其中引入
- 前言在开发过程中经常会遇到比较排序的问题,比如说对集合数组的排序等情况,基本类型都提供了默认的比较算法,如string提供了按字母进行排序,