ViewAnimator及其子类

ViewAnimator是一个基类,他继承了FrameLayout,因此他表现出FrameLayout的特征,可以将多个View组件”叠“在一起。ViewAnimator额外增加的功能正如它的名字暗示的,ViewAnimator可以在View切换时表现出动画效果。

ViewAnimator及其子类是一组非常重要的UI组件,这种组件的主要功能是增加动画效果,从而使界面更加”炫“。

ViewAnimator支持的常见xml属性
xml属性说明
android:animateFirstView设置ViewAnimator显示第一个View组件时是否使用动画
android:inAnimation设置ViewAnimator显示组件时所使用的动画
android:outAnimation设置ViewAnimator隐藏组件时所使用的动画
在实际开发中往往使用ViewAnimator的几个子类,下面一一介绍。


一、ViewSwitcher的功能与用法

ViewSwitcher代表了视图切换组件,它本身继承了FrameLayout,因此可以将多个View层叠在一起,每次只显示一个组件。当程序控制从一个View切换到另一个View时,ViewSwitcher支持指定动画效果。

为了给ViewSwitcher添加多个组件,一般通过调用ViewSwitcher的setFactory(ViewSwitcher.ViewFactory)方法为之设置ViewFactory,并由该ViewFactory为之创建View即可。


二、图像切换器(ImageSwitcher)的功能与用法

ImageSwitcher继承了ViewSwitcher,因此它具有与ViewSwitcher相同的特征:可以在切换View组件时使用动画效果。ImageSwitcher继承了ViewSwitcher,并重写了ViewSwitcher的showNext()、showPrevious()方法,因此ImageSwitcher使用起来更加简单。使用ImageSwitcher只要如下两步即可。

1、为ImageSwitcher提供一个ViewFactory,该ViewFactory生成的View组件必须是ImageView。

2、需要切换图片时,只要调用ImageSwitcher的setImageDrawable(Drawable drawable)、setImageResource(int resid)和setImageURI(Uri uri)方法更换图片即可。


三、文本切换器(TextSwitcher)的功能与用法

TextSwitcher继承了ViewSwitcher,因此它具有与ViewSwitcher相同的特征:可以在切换View组件时使用动画效果。与ImageSwitcher相似的是,使用TextSwitcher也需要设置一个ViewFactory。与ImageSwitcher不同的是,TextSwitcher所需的ViewFactory的makeView()方法必须返回一个TextView组件。


四、ViewFlipper的功能与用法

ViewFlipper组件继承了ViewAnimator,它可以调用addView(View v)添加多个组件,一旦向ViewFlipper中添加了多个组件之后,ViewFlopper就可使用动画控制多个组件之间的切换效果。

ViewFlipper与前面介绍的AdapterViewFlipper有较大的相似性,它们可以控制组件切换的动画效果。它们的区别是:ViewFlipper需要开发者通过addView(View v)添加多个View,而AdapterViewFlipper则只要传入一个Adapter,Adapter将会负责提供多个View。因此,ViewFlipper可以指定与AdapterViewFlipper相同的xml属性。











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值