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

android ViewFlipper 详细用法,附源代码+图片资源

2016-07-05 16:18 639 查看
ViewFlipper主要用在几个视图自动切换,

ViewPage用在滑动手势切换视图,并在视图添加很多功能。

ViewFragment在几个Fragment之间切换滑动,因为Fragment有自己的周期,比Viewpage更加好控制。

源代码如下,用 ViewFlipper实现图片的自动切换,并添加了动画效果。。

MainActivity代码:

package com.example.viewflipper;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.ViewFlipper;

public class MainActivity extends AppCompatActivity {
private ViewFlipper flipper;
private int[]resId={
R.mipmap.pic1,R.mipmap.pic2,R.mipmap.pic3,R.mipmap.pic4
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
flipper = (ViewFlipper) findViewById(R.id.flipper);
//动态导入方式为ViewFlipper加入子View
for (int i = 0;i<resId.length;i++)
{
flipper.addView(getImageView(resId[i]));
}
//位ViewFlipper添加动画效果
flipper.setInAnimation(this,R.anim.left_in);
flipper.setOutAnimation(this,R.anim.left_out);
//为ViewFlipper设定视图切换时间间隔
flipper.setFlipInterval(3000);
//开始播放
flipper.startFlipping();

}
private ImageView getImageView(int resId){
ImageView image = new ImageView(this);
//image.setImageResource(resId);
image.setBackgroundResource(resId);//自动显示铺满整个屏幕的图片
return image;
}
}


activity_main的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.viewflipper.MainActivity">

<ViewFlipper
android:id="@+id/flipper"
android:layout_width="match_parent"
android:layout_height="match_parent">

</ViewFlipper>
</RelativeLayout>


新建一个anim的文件夹,用于存放写的动画效果。

在anim里添加四个动画效果,

left_in:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

<translate
android:duration="2000"
android:fromXDelta="-100%p"
android:toXDelta="0" />
<alpha
android:fromAlpha="0.5"
android:toAlpha="1"
android:duration="2000"
/>

</set>


left_out

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

<translate
android:duration="2000"
android:fromXDelta="0"
android:toXDelta="100%p" />

<alpha
android:duration="2000"
android:fromAlpha="0.5"
android:toAlpha="1" />

</set>


right_in

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

<translate
android:duration="2000"
android:fromXDelta="100%p"
android:toXDelta="0" />

<alpha
android:duration="2000"
android:fromAlpha="0.5"
android:toAlpha="1" />

</set>

right_out

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

<translate
android:duration="2000"
android:fromXDelta="0"
android:toXDelta="-100%p" />

<alpha
android:duration="2000"
android:fromAlpha="0.5"
android:toAlpha="1" />

</set>


这张图片命名为:pic1



pic2:


pic3:::::::::::::::


pic4::::
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ViewFlipper Android