您的位置:首页 > 移动开发 > Android开发

Android学习-使用ViewFlipper实现屏幕切换的动画效果

2017-10-20 10:55 856 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  动画