我只是简单的实现了安卓图片的自动轮播,还有很多需要改进的地方
第一步:activity文件
package com.example.imageswitch;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
public class MainActivity extends Activity {
private static final int SWITCH_IMAGE = 0;
private ImageSwitcher iv;
private int switchTime = 10000;// 自动播放时长
private Handler handler;
private Timer timer;// 定时器
private TimerTask timerTask;
private int switchCount = 0;
private int[] imageIds = { R.drawable.test1, R.drawable.test2,
R.drawable.test3, R.drawable.test4, R.drawable.test5,
R.drawable.test6 };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageSwitcher) findViewById(R.id.image_switcher);
iv.setFactory(new ViewFactory() {
@Override
public View makeView() {
// 创建ImageView对象
ImageView imageView = new ImageView(MainActivity.this);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new ImageSwitcher.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
// 返回ImageView对象
return imageView;
}
});
iv.setImageResource(imageIds[0]);//默认显示第一张图片
timer = new Timer();
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
iv.setImageResource(imageIds[switchCount%imageIds.length]);
super.handleMessage(msg);
}
};
initTask();
}
private void initTask() {
timerTask = new TimerTask() {
@Override
public void run() {
handler.sendEmptyMessage(SWITCH_IMAGE);
switchCount++;
}
};
timer.schedule(timerTask, switchTime, switchTime);
}
}
第二步:xml文件中增加:
<ImageSwitcher
android:id="@+id/image_switcher"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:inAnimation="@android:anim/slide_in_left"
android:outAnimation="@android:anim/fade_out" />
源码地址:http://download.csdn.net/detail/yaqiang520/8799579