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

来源:互联网 发布:java接口开发demo下载 编辑:程序博客网 时间:2024/05/23 05:10

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::::

0 0