时间:2021-05-20
复制代码 代码如下:
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;
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
对Android利用ViewPager实现图片可以左右循环滑动效果,感兴趣的朋友可以直接点击查看内容详情。主要介绍如何实现ViewPager自动播放,循环滚动的
ViewPager是一个常用的Android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可
左右切换图片控件大家都用ViewPager,ViewFipper比较多吧,我之前也用ViewPager实现了,使用ViewPager实现左右循环滑动图片,有兴趣
AndroidViewPager实现无限循环的实例ViewPager自身并不支持左右无限循环的功能,这里就提供一种方案让AndroidViewPager实现左右
本文实例为大家分享了Android实现ViewPager无限循环效果的第二种方式,供大家参考,具体内容如下原理:在Adapter中将getCount设置为无限大