这个问题是一些初学者提出来的问题,实际上解决的方法很简单,比如:可以使用CountDownTimer()方法,由以下两步实现:
1) 声明一些数组,这些数组包含你图片的标识符,
2) 声明countDownTimer:
//代码片段
int i=0;
new CountDownTimer(10000,1000){
@Override
public void onTick(long millisUntilFinished) {}
@Override
public void onFinish(){
imgView.setImageDrawable(sdk.getContext().getResources().getDrawable(array[i]));
i++;
if(i== array.length) i=0;
start();
}
}.start();
可以使用线程来实现,开启一个线程,每隔10秒给Handler发送一个消息,Handler接受到消息后更改图片。
public void run(){
while(true){
try{
mReadDataHandler.sendEmptyMessage(0);
Thread.sleep(10000);
}
catch(InterruptedException e)
{ e.printStackTrace();
}
}
}
class ReadDataHandler extends Handler{
@Override
public void handleMessage(Message msg){
imgView.setImageDrawable(sdk.getContext().getResources().getDrawable(array[i])); i++; if(i >= array.length){ i = 0; }
super.handleMessage(msg); }
}
你可以创建帧动画来实现:
AnimationDrawable animation = new AnimationDrawable();
animation.addFrame(getResources().getDrawable(R.drawable.image1), 100);
animation.addFrame(getResources().getDrawable(R.drawable.image2), 500);
animation.addFrame(getResources().getDrawable(R.drawable.image3), 300);
animation.setOneShot(false);
ImageView imageAnim = (ImageView) findViewById(R.id.img);
imageAnim.setBackgroundDrawable(animation);
// start the animation! animation.start()
小结:对于学习android的朋友们,最好有java的开发基础,当然即便是没有java开发的基础,如果学习过C语言的都可以。学习java也不是什么难事,只要认真还是容易学会的。把基础学好了在开发的过程中就不会出现瓶颈了,