Android实用笔记——使用ViewFlipper实现屏幕切换动画
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实现屏幕切换动画相关推荐
- Android成长日记-使用ViewFlipper实现屏幕切换动画效果
(一) ViewFlipper介绍 Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换 (二) 为ViewFlipper加入View 1. 静态导入:在Layout布局文件中直接导 ...
- 使用ViewFlipper实现屏幕切换动画效果
ViewFlipper Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换 为ViewFlipper加入View 静态导入:在layout布局中直接导入(不推荐,不够灵活) < ...
- Android入门笔记之更改手机屏幕方向
Android入门笔记之更改手机屏幕方向 <1>简介 通过一个按钮组来改变横屏竖屏显示. <2>关键步骤 主要通过android.app.activity.getRequest ...
- Android ViewFlipper滑动屏幕切换
最近看到ViewFlipper和Animation在一起的用法,感觉很好,我就自己写了一下,感觉灰常好用,效果比gallery的滚动查看图片好用多了,这个也是实现滚动屏幕切换图片,但是用户体验要好很多 ...
- 转 Android的Activity屏幕切换动画(一)-左右滑动切换
这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下. 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下 ...
- Android的Activity屏幕切换动画(一)-左右滑动切换
为什么80%的码农都做不了架构师?>>> 这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下. 在Android开发过 ...
- Android开发笔记(三)屏幕分辨率
在app编码中经常需要获取手机的屏幕分辨率(宽*高),原来我直接上网拷贝代码,但在使用过程中却发现诸多不便. 不便一:下面代码中的getWidth和getHeight在adt上提示deprecated ...
- Android的Activity屏幕切换动画左右滑动切换
在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity ...
- Android的屏幕切换动画—左右滑动切换
预备知识: 在使用自定义视图的时候,对触屏事件的处理是比不可少的,有能力的可以自己写代码处理,这样更加的灵活.如果不想这么麻烦,Android提供了一个手势监听类GestureDetector,可以供 ...
最新文章
- 深入Python(2): __init__.py 用法
- jQuery的Treeview插件
- 保驾护航金三银四,含BATJM大厂
- HTTP缓存解释为何页面响应的数据和服务端的不一致
- php json转义字符函数,PHP转义Json里的特殊字符的函数
- 数据库系统中事务的ACID原则
- 小例子(三)、winform控件的移动
- 无敌命令 就没有杀不死的进程!
- Android异常处理——try、catch、finally、throw、throws
- 带你玩转 Visual Studio——带你跳出坑爹的 Runtime Library 坑
- 地址转换函数(点分十进制与网络字节序的二进制)
- 三菱plc控制电动推杆
- Labview优化技巧
- choco无法将choco识别_终于有个可以量产的法甜配方了,来自巴黎CHOCO(已打包可下载)...
- js中yyyy-MM-dd格式的日期转换
- 初识mac 之设置篇
- 一个生成公章图片的简易工具
- cluster by、group by操作
- java cas logout无效_解释CAS Logout问题(转)
- 全景照片是如何拍摄出来的?
热门文章
- 电脑控制手机屏幕软件_手机屏幕如何投屏到电脑
- Mybatis-Plus代码生成器初体验
- ShardingSphere JDBC 语句执行初探
- python票务系统_列车票务系统
- python中的装饰器、装饰器模式_浅析Python装饰器以及装饰器模式
- 二分求值(二分适合求答案在两个数之间的题目)
- Spring Cloud中关于@EnableFeignClients注解的属性字段basePackages
- kafka集群部署成功后,创建生产者往指定主题里面发送消息时出错
- Activiti中的事件监听
- javascript 无法修改 数组中对象_谈谈JavaScript中对象建立(Object)