小工具知识网

当前位置: 首页 > 行业知识 > Android 实现图片轮播的三种方法

行业知识

Android 实现图片轮播的三种方法

2026-11-10 09:04:26 来源:互联网转载

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

LayoutInflater inflater = LayoutInflater.from(this);

ImageView view1 = (ImageView) inflater.inflate(R.layout.item, null);

ImageView view2 = (ImageView) inflater.inflate(R.layout.item, null);

ImageView view3 = (ImageView) inflater.inflate(R.layout.item, null);

view1.setImageResource(R.drawable.ics);

view2.setImageResource(R.drawable.jellybean);

view3.setImageResource(R.drawable.kitkat);

ArrayList views = new ArrayList();

views.add(view1);

views.add(view2);

views.add(view3);

viewPager.setAdapter(new ImageAdapter(views));

viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

//配合Adapter的currentItem字段进行设置。

@Override

public void onPageSelected(int arg0) {

handler.sendMessage(Message.obtain(handler, ImageHandler.MSG_PAGE_CHANGED, arg0, 0));

}

@Override

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

}

//覆写该方法实现轮播效果的暂停和恢复

@Override

public void onPageScrollStateChanged(int arg0) {

switch (arg0) {

case ViewPager.SCROLL_STATE_DRAGGING:

handler.sendEmptyMessage(ImageHandler.MSG_KEEP_SILENT);

break;

case ViewPager.SCROLL_STATE_IDLE:

handler.sendEmptyMessageDelayed(ImageHandler.MSG_UPDATE_IMAGE, ImageHandler.MSG_DELAY);

break;

default:

break;

}

}

});

viewPager.setCurrentItem(Integer.MAX_VALUE/2);//默认在中间,使用户看不到边界

//开始轮播效果

handler.sendEmptyMessageDelayed(ImageHandler.MSG_UPDATE_IMAGE, ImageHandler.MSG_DELAY);

}//end of onCreate

}//end of MainActivity

二、Gallery(deprecated) + Timer

package com.zms.demo2;

import java.util.Timer;

import java.util.TimerTask;

import android.content.Context;

import android.os.Handler;

import android.util.AttributeSet;

import android.util.Log;

import android.view.KeyE

上一篇:房地产网站怎么建设?

下一篇:远程外卖下载指南,轻松掌握点餐新技能!