Android ViewFlipper视图切换控件

本文介绍了Android中的ViewFlipper控件,它用于方便地在多个视图间进行切换,并支持添加动画效果。在布局文件中可以直接添加ViewFlipper,并通过anim_in.xml和anim_out.xml定义切换动画。同时,文中也提及了如何在代码中操作ViewFlipper进行视图切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

  • ViewFlipper是一个视图切换控件,用于视图之间的切换,并且支持添加切换动画,简单易用!

使用

  • 在布局中使用ViewFlipper
属性解析
android:autoStart是否自动切换视图
android:flipInterval设置视图之间切换时间间隔
android:inAnimation设置视图的进入动画
android:outAnimation设置视图的退出动画
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:gravity="center">

   <ViewFlipper
      android:layout_height="wrap_content"
      android:layout_width="match_parent"
      android:id="@+id/viewFlipper"
      android:autoStart="true"
      android:flipInterval="3000"
      android:inAnimation="@anim/anim_in"
      android:outAnimation="@anim/anim_out">

      <TextView
         android:layout_height="wrap_content"
         android:layout_width="match_parent"
         android:text="怎么样啊!"
         android:textSize="24sp"
         android:gravity="center"/>

      <TextView
         android:layout_height="wrap_content"
         android:layout_width="match_parent"
         android:text="还可以吧!"
         android:textSize="24sp"
         android:gravity="center"/>

      <TextView
         android:layout_height="wrap_content"
         android:layout_width="match_parent"
         android:text="快试一下吧!"
         android:textSize="24sp"
         android:gravity="center"/>

   </ViewFlipper>

</LinearLayout>

在这里插入图片描述
anim_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
   <!-- translate:平移动画 -->
   <translate
       android:duration="500"
       android:fromXDelta="100%p"
       android:toXDelta="0" />
   <!-- alpha:透明动画 -->
   <alpha
       android:duration="500"
       android:fromAlpha="0.1"
       android:toAlpha="1.0" />
   <!-- scale:缩放动画 -->
   <scale
      android:fromXScale="0.2"
      android:toXScale="1.0"
      android:fromYScale="0.2"
      android:toYScale="1.0"
      android:pivotX="50%"
      android:pivotY="50%"
      android:duration="500"/>
</set>

anim_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
   <!-- translate:平移动画 -->
   <translate
      android:duration="500"
      android:fromXDelta="0"
      android:toXDelta="-100%p" />
   <!-- alpha:透明动画 -->
   <alpha
      android:duration="500"
      android:fromAlpha="1.0"
      android:toAlpha="0.1" />
   <!-- scale:缩放动画 -->
   <scale
      android:fromXScale="1.0"
      android:toXScale="0.2"
      android:fromYScale="1.0"
      android:toYScale="0.2"
      android:pivotX="50%"
      android:pivotY="50%"
      android:duration="500"/>
</set>
  • 在代码中使用ViewFlipper
方法解析
isFlipping是否正在切换视图
setFilpInterval设置视图之间切换时间间隔
startFlipping开始切换视图(循环)
stopFlipping停止切换视图
setInAnimation设置视图的进入动画
setOutAnimation设置视图的退出动画
showNext切换到上一个视图
showPrevious切换到下一个视图
ViewFlipper viewFlipper=(ViewFlipper) findViewById(R.id.viewFlipper);
viewFlipper.setFlipInterval(3000);
viewFlipper.setInAnimation(this,R.anim.anim_in);
viewFlipper.setOutAnimation(this,R.anim.anim_out);
viewFlipper.startFlipping();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值