ViewFlipper介绍
Android系统自带的一个多页面管理控件,他可以实现子界面的自动切换
为ViewFlipper加入View
1>静态导入:在layout布局文件中直接导入
2>动态导入:addView()方法
flipper=(ViewFlipper)findViewById(R.id.flipper);
flipper.addView(getImageView(R.drawable.pic1));
flipper.addView(getImageView(R.drawable.pic2));
flipper.addView(getImageView(R.drawable.pic3));
flipper.addView(getImageView(R.drawable.pic4));
ViewFlipper常用方法
setInAnimation:设置View进入屏幕时候使用的动画
setOutAnimation:设置View退出屏幕时候用的动画
showNext():调用该函数来显示ViewFlipper里面的下一个View
showPrevious:调用该函数来显示ViewFlipper里面的上一个View
setFlipInterval:设置View之间切换的时间间隔
startFlipping:使用上面设置的时间间隔来开始切换所有的view,切换会循环进行
stopFlipping:停止View切换
【注意】
要创建一个anim文件夹,来设置动画的效果
MainActivity.java
package com.example.angel.project1;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import android.widget.ViewFlipper;
public class MainActivity extends AppCompatActivity {
private ViewFlipper flipper;
private int[] resId={R.mipmap.ic_launcher,R.mipmap.ic_launcher_round,R.mipmap.ic_pic};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
flipper = (ViewFlipper) findViewById(R.id.flipper);
//动态导入的方式为ViewFlipper加入子view
for(int i = 0;i<resId.length;i++){
flipper.addView(getImagView(resId[i]));
}
//为flipper添加动画效果
flipper.setInAnimation(this,R.anim.left);
flipper.setOutAnimation(this,R.anim.left);
//为ViewFlipper设置时间间隔
flipper.setFlipInterval(3000);
flipper.startFlipping();
}
private ImageView getImagView(int resId){
ImageView image = new ImageView(this);
//image.setImageResource(resId); 是图片大小,下面的是铺满屏幕
image.setBackgroundResource(resId);
return image;
}
}
main_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ViewFlipper
android:id="@+id/flipper"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ViewFlipper>
</LinearLayout>