ViewFlipper实现屏幕切换动画效果

一、使用ViewFlipper实现图片轮播

ViewFlipper:
1.功能:Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换
2.为ViewFlipper导入View:
(1)静态导入:例如:在<ViewFlipper></ViewFlipper>组件中增加<ImageView>,这种方式比较死板不推荐使用
(2)动态导入:获取ViewFlipper组件后使用addView()方法实现,
例如:flipper.addView(getImageView(R.drawable.pic1))
3.ViewFlipper常用方法:如图
4.实例:使用ViewFlipper实现图片轮播
第一步:在资源文件夹下建立文件夹,且创建图片淡入淡出时的效果xml文件。
第二步:在主布局文件中加入ViewFlipper组件,并在主活动文件中获取组件。
第三步:创建int类型数组文件,添加所要展示图片的Id,并在onCreate方法中动态为ViewFlipper加入子View,使用for循环调用以图片id为参数的创建并返回image的方法。
第四步:所调用的方法中需使用image.setBackgroundResource(resId);的方式设置图片显示形式,保证全屏显示。
第五步:设置ViewFlipper常用方法,例如:flipper.setInAnimation(this,R.anim.left_out);并调用flipper.startFlipper();让动画运行起来。


二、支持手势滑动的ViewFlipper

监视手势滑动事件的处理
// A.2声明记录变量,因为是横向滑动故只考虑X坐标。
private float startX;

public boolean onTouchEvent(MotionEvent event)
{
switch (event.getAction()){
// 手指点到屏幕上,手指落下
case MotionEvent.ACTION_DOWN:{
// A.1记录刚开始手指落下的起始坐标
// A.3获得横向坐标的值
startX = event.getX();
break;
}
// 手指滑动
case MotionEvent.ACTION_MOVE:{
// B.1判断向左还是向右滑
// B.2向右滑动是看前一页,100是指像素,相当于改写它的动画效果
if (event.getX() - startX > 100){
flipper.setInAnimation(this, R.anim.left_in);
flipper.setOutAnimation(this, R.anim.left_out);
flipper.showPrevious();// 显示前一页
}
// B.3向左滑动看后一页
if (startX - event.getX() > 100){
flipper.setInAnimation(this, R.anim.right_in);
flipper.setOutAnimation(this, R.anim.right_out);
flipper.showNext();// 显示后一页
}
break;
}
// 手指离开
case MotionEvent.ACTION_UP:{
break;
}

}
return super.onTouchEvent(event);
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ViewFlipper是Android中的一个ViewGroup,可以用于实现视图的轮播、广告轮播等效果。以下是一个简单的示例,实现ViewFlipper的左右滑动切换图片效果: 1. 在XML布局文件中加入ViewFlipper组件,并添加ImageView子组件作为要轮播的图片。 ```xml <ViewFlipper android:id="@+id/viewFlipper" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/image1"/> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/image2"/> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/image3"/> </ViewFlipper> ``` 2. 在Java代码中获取ViewFlipper组件,并设置动画效果。 ```java ViewFlipper viewFlipper = findViewById(R.id.viewFlipper); // 设置切换动画 viewFlipper.setInAnimation(this, android.R.anim.slide_in_left); viewFlipper.setOutAnimation(this, android.R.anim.slide_out_right); // 设置轮播时间间隔 viewFlipper.setFlipInterval(3000); // 启动自动轮播 viewFlipper.setAutoStart(true); ``` 在上述代码中,我们使用了Android自带的两种动画效果:slide_in_left和slide_out_right,这两种动画效果可以实现ViewFlipper的左右滑动切换图片效果。同时,我们还设置了轮播时间间隔为3秒,并启动了自动轮播。 最后,我们需要注意的是,如果我们想要在ViewFlipper中添加更多的图片,只需要在XML布局文件中添加更多的ImageView子组件即可。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值