首页

ViewFlipper

搜索

概述
ViewFlipper的作用是在同一个Activity内屏幕间的切换,例如在一个FrameLayout内有多个页
面,如系统设置和个性化设置两个页面。
ViewFlipper是FrameLayout的子类。
相关类一ViewAnimator
概述
android.widget.ViewAnimator类继承自FrameLayout,ViewAnimator类的作用是为
FrameLayout里面的View切换提供动画效果。该类通常不直接使用,而是使用它的两个子类
ViewFlipper和ViewSwitcher
与动画相关的方法
1, setInAnimation(int resId)
setIntAnimation(Context context,int resId);
作用:设置View进入屏幕时候使用的动画。
该函数有两个版本,一个接收单个参数,类型为android.view.animation.Animation,一个接收
两个参数,类型为Context和int,分别为Context对象和定义Animation的resourceID
2, setOutAnimation()
作用:设置View退出屏幕时候使用的动画,参数与setInAnimation()一样。
3, setAnimation(int resId);
作用:设置切换的动画。若不想设置进入、进出的切换方式,可用本方法设置一种切换的动画方式。
4, showNext()
作用:显示FrameLayout里面的下一个View
5, showPrevious()
作用:显示FrameLayout里面的上一个View
ViewFlipper类
概述
ViewFlipper类是ViewAnimator的子类,用来指定FrameLayout内多个View之间的切换效果
可以一次指定也可以每次切换的时候都指定单独的效果。
常用方法
1, isFlipping()
作用:判断View切换是否正在进行。
2, setFiIpInterval(int milliseseconds)
作用:设置View之间切换的时间间隔,单位:毫秒。
3, startFlipping()
作用:使用上面设置的时间间隔开始切换所有的View,切换会循环进行。
4, stopFlipping()
作用:停止View切换。
ViewFlipper的使用步骤
步骤1、在res/anim文件夹下创建补间动画,该动画用于控制ViewFlipper中每个View切换时的动
画效果,例如push_ left_in.xml,该文件使控件由右至左进入并由虚变实,代码如下:
<?xml version= "1.0" encoding= "utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android ">
<translate
android:fromXDelta="100’,
androidaoXDelta= "0"
android:duration= "300"/>
<alpha
android:fromAlpha="0.0"
androidaoAlpha="1.0"
android:duration= "300"/>
</set>
步骤2、在布局文件中定义ViewFIipper控件,在该控件中定义多个控件,这些控件按步骤1设置的动
画效果切换。
<!一定义ViewFlipper控件,该控件中可放置多个控件一>
<ViewFl ipper
android:id= "@+id/vf"
androidaayout_width= "wrap_content"
android:layout_height= "wrap_content"
android:layout_gravity= "center horizontal">
<ImageView
android:id= "@+id/ivDogl”
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:src= "@drawable/dogl”
android:layout_gravity= "center_horizontal"/>
<ImageView
android:id= "@+id/ivDog2"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:layout_gravity= "center_horizontal"
android:src= "@drawable/dog2"/>
<ImageView
android:id= "@+id/ivDog3"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:layout_gravity= "center horizontal"
android:src= "@drawable/dog3"/>
</ViewFlipper>
步骤3,编写Java代码,实现由右至左淡入的动画效果,示例代码:
//步骤3.1一声明ViewFlipper的引用变量
ViewFlipper mViewFlipper;
//步骤3.2一声明补间动画的引用变量
Animation animPushLeftIn;
//步骤3.3一实例化ViewFl ipper
mViewFlipper=(ViewFlipper) findViewById(R.id.vf);
//步骤3.4一载入中定义的补间动画
animPushLeftIn=AnimationUtils.IoadAnimation(this, R.anim.push left in);
//步骤3.5一在mViewFlipper中轮流切换步骤2中定义的三个ImageView(按步骤1中定义的动画方
式)
mViewFl ipper.setAnimation(animPushLeftIn);

 

上一页 下一页