界面:
图片资源
1.布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/taobaobg" > <ViewFlipper android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/messsage_viewflipper" > </ViewFlipper> </LinearLayout>
2.
package com.viewflipper; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; import android.widget.ViewFlipper; import com.zengjx.androidbaseproject.R; public class MessageActivity extends AppCompatActivity { final private int MSG=1;//消息代码 private ViewFlipper viewFlipper; private Animation [] animations=new Animation[2]; //定义动画数组,为ViewFlipper指定切换动画 private Message message; private int[] images=new int[]{R.drawable.taoboimg1,R.drawable.taoboimg2, R.drawable.taoboimg3,R.drawable.taoboimg4, R.drawable.taoboimg5,R.drawable.taoboimg6, R.drawable.taoboimg7,R.drawable.taoboimg8, }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.message); viewFlipper=findViewById(R.id.messsage_viewflipper);//获取ViewFlipper animations[0]= AnimationUtils.loadAnimation(this,R.anim.slide_in_left);//左进 animations[1]= AnimationUtils.loadAnimation(this,R.anim.slide_out_right);//右出 viewFlipper.setInAnimation(animations[0]);//添加进入动画效果 viewFlipper.setOutAnimation(animations[1]);//添加退出动画效果 for(int i=0;i<images.length;i++){//遍历图片资源 ImageView imageView =new ImageView(this); //创建ImageView对象 imageView.setImageResource(images[i]); //将遍历的图片保存在ImageView中 viewFlipper.addView(imageView);// //加载图片 } message= Message.obtain(); //获得消息对象 message.what=MSG;//设置消息代码 mHandler.sendMessage(message); } private Handler mHandler = new Handler(new Handler.Callback() {//创建android.os.Handler对象 @Override public boolean handleMessage(Message msg) { switch (msg.what){ case 1: viewFlipper.showPrevious();//显示下一张 break; } message=mHandler.obtainMessage(MSG);//获取要发送的消息 mHandler.sendMessageDelayed(message,3000);//延时3秒发送消息 return false; } }); }