2019独角兽企业重金招聘Python工程师标准>>>

1、ViewFlipper介绍

Android系统自带的一个多页面管理控件,他可以实现子界面的自切换。

2、为ViewFlipper加入View

a、静态导入:在layout布局文件中直接导入。在布局文件中写死,不灵活。

b、动态导入:addView()方法:

3、ViewFlipper常用方法:

setInAnimation    设置View进入屏幕时候使用的动画

setOutAnimation    设置View退出屏幕时候使用的动画

showNext    调用该函数来显示ViewFlipper里面的下一个View

showPrevious    调用还函数来显示ViewFlipper里面的上一个View

setFilpInterval    设置View之间切换的时间间隔

startFlipping    使用上面设置的时间间隔来开始切换所有的View,切换会循环进行

stopFlipping    停止View切换

4、应用

a、设置动画效果文件left_in.xml、left_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" ><translateandroid:duration="2000"android:fromXDelta="-100%p"android:toXDelta="0" /><alpha android:fromAlpha="0.5"android:toAlpha="1"android:duration="2000"/></set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" ><translateandroid:duration="2000"android:fromXDelta="0"android:toXDelta="100%p" /><alphaandroid:duration="2000"android:fromAlpha="0.5"android:toAlpha="1" /></set>

b、编辑activity_main.xml文件

<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=".MainActivity" ><ViewFlipper android:id="@+id/flipper"android:layout_width="match_parent"android:layout_height="match_parent"></ViewFlipper></RelativeLayout>

c、编辑MainActivity.java文件

package com.example.myandroidviewflipper;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.widget.ImageView;
import android.widget.ViewFlipper;public class MainActivity extends Activity {//1、定义ViewFlipper对象private ViewFlipper flipper;//4、将图片资源对应的ID写在数组中private int[]resId={R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,R.drawable.pic4};//8、声明变量记录手指坐标private float startX;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//2、初始化变量flipper=(ViewFlipper) findViewById(R.id.flipper);//3、动态导入的方式为ViewFlipper加入子View,循环遍历for(int i=0;i<resId.length;i++){flipper.addView(getImageView(resId[i]));}     //10、注释掉自动播放,以响应手指操作//4、设置ViewFlipper的动画效果//flipper.setInAnimation(this,R.anim.left_in);//flipper.setOutAnimation(this, R.anim.left_out);//5、设置ViewFlipper切换时间间隔flipper.setFlipInterval(3000);//6、开始时间flipper.startFlipping();}//7、加入函数天添加手势支持的操作public boolean onTouchEvent(MotionEvent event){//9、编辑具体事件switch(event.getAction()){//手指落下case MotionEvent.ACTION_DOWN:{startX=event.getX();break;}//手指滑动case MotionEvent.ACTION_MOVE:{break;}//手指离开case MotionEvent.ACTION_UP:{//向右滑动看前一页if(event.getX()-startX>100){flipper.setInAnimation(this,R.anim.left_in);flipper.setOutAnimation(this, R.anim.left_out);flipper.showPrevious();//显示前一页}//向左滑动看后一页if(startX-event.getX()<100){flipper.setInAnimation(this,R.anim.right_in);flipper.setOutAnimation(this, R.anim.right_out);flipper.showNext();//显示前一页}break;}}return super.onTouchEvent(event);}private ImageView getImageView(int resId){ImageView image=new ImageView(this);//这种方式设置的宽高是图片原宽高,不是适应屏幕的,所以不能用这种方式改用另一种方式//image.setImageResource(resId);image.setBackgroundResource(resId);return image;}
}
//11、发现有图层叠加,我们把效果的xml文件中的淡入淡出取消掉

转载于:https://my.oschina.net/CoderBleak/blog/725389

Android实用笔记——使用ViewFlipper实现屏幕切换动画相关推荐

  1. Android成长日记-使用ViewFlipper实现屏幕切换动画效果

    (一) ViewFlipper介绍 Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换 (二) 为ViewFlipper加入View 1. 静态导入:在Layout布局文件中直接导 ...

  2. 使用ViewFlipper实现屏幕切换动画效果

    ViewFlipper Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换 为ViewFlipper加入View 静态导入:在layout布局中直接导入(不推荐,不够灵活) < ...

  3. Android入门笔记之更改手机屏幕方向

    Android入门笔记之更改手机屏幕方向 <1>简介 通过一个按钮组来改变横屏竖屏显示. <2>关键步骤 主要通过android.app.activity.getRequest ...

  4. Android ViewFlipper滑动屏幕切换

    最近看到ViewFlipper和Animation在一起的用法,感觉很好,我就自己写了一下,感觉灰常好用,效果比gallery的滚动查看图片好用多了,这个也是实现滚动屏幕切换图片,但是用户体验要好很多 ...

  5. 转 Android的Activity屏幕切换动画(一)-左右滑动切换

    这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下. 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下 ...

  6. Android的Activity屏幕切换动画(一)-左右滑动切换

    为什么80%的码农都做不了架构师?>>>    这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下. 在Android开发过 ...

  7. Android开发笔记(三)屏幕分辨率

    在app编码中经常需要获取手机的屏幕分辨率(宽*高),原来我直接上网拷贝代码,但在使用过程中却发现诸多不便. 不便一:下面代码中的getWidth和getHeight在adt上提示deprecated ...

  8. Android的Activity屏幕切换动画左右滑动切换

    在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity ...

  9. Android的屏幕切换动画—左右滑动切换

    预备知识: 在使用自定义视图的时候,对触屏事件的处理是比不可少的,有能力的可以自己写代码处理,这样更加的灵活.如果不想这么麻烦,Android提供了一个手势监听类GestureDetector,可以供 ...

最新文章

  1. 深入Python(2): __init__.py 用法
  2. jQuery的Treeview插件
  3. 保驾护航金三银四,含BATJM大厂
  4. HTTP缓存解释为何页面响应的数据和服务端的不一致
  5. php json转义字符函数,PHP转义Json里的特殊字符的函数
  6. 数据库系统中事务的ACID原则
  7. 小例子(三)、winform控件的移动
  8. 无敌命令 就没有杀不死的进程!
  9. Android异常处理——try、catch、finally、throw、throws
  10. 带你玩转 Visual Studio——带你跳出坑爹的 Runtime Library 坑
  11. 地址转换函数(点分十进制与网络字节序的二进制)
  12. 三菱plc控制电动推杆
  13. Labview优化技巧
  14. choco无法将choco识别_终于有个可以量产的法甜配方了,来自巴黎CHOCO(已打包可下载)...
  15. js中yyyy-MM-dd格式的日期转换
  16. 初识mac 之设置篇
  17. 一个生成公章图片的简易工具
  18. cluster by、group by操作
  19. java cas logout无效_解释CAS Logout问题(转)
  20. 全景照片是如何拍摄出来的?

热门文章

  1. 电脑控制手机屏幕软件_手机屏幕如何投屏到电脑
  2. Mybatis-Plus代码生成器初体验
  3. ShardingSphere JDBC 语句执行初探
  4. python票务系统_列车票务系统
  5. python中的装饰器、装饰器模式_浅析Python装饰器以及装饰器模式
  6. 二分求值(二分适合求答案在两个数之间的题目)
  7. Spring Cloud中关于@EnableFeignClients注解的属性字段basePackages
  8. kafka集群部署成功后,创建生产者往指定主题里面发送消息时出错
  9. Activiti中的事件监听
  10. javascript 无法修改 数组中对象_谈谈JavaScript中对象建立(Object)