Android_Animation动画
Animation动画
位移、翻转、透明、缩放
共有方法:
1、setRepeatMode();设置重复模式
常用:
Animation.RESTART 每次从头开始
Animation.REVERSE 反复开始
2、setRepeatCount();设置重复次数
3、setDuration(3000);设置动画执行的时间(单位:毫秒)
4、view.startAnimation(具体对象) 开始动画
5、setFillAfter(true); 动画执行完之后是否保留最终状态
6、setFillBefore(false); 动画执行完之后是否恢复执行前状态
7、setStartOffset(500);设置延时启动
①、透明:AlphaAnimation
1、new AlphaAnimation(from, to) 1:完全不透明,0完全透明
2、 或者:res的anim文件夹中:
<alpha
android:fromAlpha="1"
android:toAlpha="1"
android:duration="3000"
android:repeatCount="1"
android:repeatMode="reverse"/>
通过AnimationUtils.loadAnimation(resId);在Activity引用
②、旋转:RotateAnimation
newRotateAnimation(fromDegrees,toDegrees, pivotXType, pivotXValue, pivotYType, pivotYValue);
参数1:fromDegrees:旋转起始角度
参数2:toDegrees:旋转结束角度 以下4个参数用来设置旋转圆心:
参数3:pivotXType:旋转类型,表示以哪个位置为旋转的基点横坐标。
共有3个:
Animation.ABSOLUTE,一个绝对像素值
Animation.RELATIVE_TO_SELF 计算距离时看的是自己的宽高
Animation.RELATIVE_TO_PARENT.计算距离时看的是其父控件的宽高
参数4:pivotXValue:
0-1f之间的一个float值,表示实际旋转时圆心相对基点的水平偏移量,0表示不偏移,0.5f是半个控件长度 ,1表示偏移当前控件宽度
参数5:pivotYType: 同参数3.
参数6:pivotYValue 同参数4
实现:
③、缩放:ScaleAnimation
new ScaleAnimation(fromX, toX, fromY, toY)
1到0的float值,表示起始结束大小
也可以1到
1代表当前大小,小于1代表缩小的倍数,大于1代表放大的倍数
new ScaleAnimation(fromX, toX, fromY, toY, pivotXType, pivotXValue, pivotYType, pivotYValue)
意义同旋转。。。
实现:
④、位移:TranslateAnimation
new TranslateAnimation(fromX, toX, fromY, toY)
1到0的float值,表示起始横纵坐标
new TranslateAnimation( fromXType, fromXValue, toXType, toXValue, fromYType, fromYValue, toYType, toYValue);
意义同旋转。。。
<translate
android:duration="1000"
android:fromXDelta="-100%"
android:toXDelta="0"
/>
实现:
注意:起始的0,0值得是控件当前位置,不仅仅时屏幕的左上角
⑤、AnimationSet 动画集合
AnimationSet 动画集合,里面可放置多个动画效果
animationSet.addAnimation() 添加动画到动画集或者:
res中
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/bounce_interpolator" >
</set>
实现:
⑥、Interpolator 动画修改器
Interpolator:基本动画的修改器
修改器属性:
1、AccelerateInterpolator:动画从开始到结束,变化率是一个加速的过程。
2、DecelerateInterpolator:动画从开始到结束,变化率是一个减速的过程。
3、CycleInterpolator:动画从开始到结束,变化率是循环给定次数的正弦曲线。
4、AccelerateDecelerateInterpolator:动画从开始到结束,变化率是先加速后减速的过程。
5、LinearInterpolator:动画从开始到结束,变化率是线性变化。
6、OvershootInterpolator 向前甩一定值后再回到原来位置
7、 BounceInterpolator 动画结束的时候弹起。
8、AnticipateInterpolator 开始的时候向后然后向前甩
9、AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值
用法:
用法简单,只需要new出动画效果,通过当前动画对象执行setInterpolator(传入具体对象使用)方法。 以位移–>BounceInterpolator 为例:
⑦、通过xml来设置动画
在res中新建anim文件夹和xml
xml中实际为AnimationSet集合
重复的次数在某个动画中能生效,但是在Set标签里不能
!!!注:在xml设置大小,单位为px,并且可以填写% 100%代表当前空间宽高—100%p代表当前布局宽高!!!
Activity调用:
在xml中也可以使用动画修改器
⑧、AnimationStyle 动画风格
可以用已有的动画来修改其他控件的动画风格,如弹窗,切换等
setAnimationStyle
<style name="AnimationFade">
<!-- PopupWindow左右弹出的效果 -->
<item name="android:windowEnterAnimation">@anim/in</item>
<item name="android:windowExitAnimation">@anim/out</item>
</style>
扩展
1、切换界面时的划动效果
①、在anim中
创建划动的动画 (切换的动画)
activity_in.xml—–>2界面从右屏幕宽度位置,向左滑进至0位置
activity_out.xml—–>1界面从屏幕的0位置,向左出至负屏幕位置
②、设置切换回的动画(按下BACK键)
back_in.xml—–>1界面从屏幕负屏幕宽度位置,向右滑进至0位置
back_out.xml—–>2界面从屏幕的0位置,向右滑出至屏幕宽度位置
③、java代码:
1界面:
2界面(在按下BACK键后返回1界面,需要在2界面覆写BACK方法)
效果:
在1界面按下监听,界面向左滑动显示2页面,在2界面按下BACK向右滑动回到1界面
2、Dialog 从上向下滑出—>默认直接弹出在界面
①、对话框:
②、在anmi中设置动画–>滑出与滑入
dig_in.xml 进入的动画 —->改变Y坐标 从上往下弹
dig_out.xml 出去的动画 —->改变Y坐标 从下往上回
③、java:
在窗体动画中传入的是样式style,所以应该将②中的动画封装到style中
④、封装动画
⑨、LayoutAnimationController
new LayoutAnimationController(ani ,delay)
可作用于ListView实现单个条目动画效果:
lv.setLayoutAnimation(controller);
lv.startLayoutAnimation();
或:
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:animation="@anim/my_anim"
android:delay="1" />
LayoutAnimationController layoutAnimationController= AnimationUtils.loadLayoutAnimation(this,R.anim.layoutanim);
java:
layout.xml:—->引用test1动画,延时0.7秒执行
test1.xml 位移(0,0位置 重复2遍)、透明4秒进入
Android_Animation动画相关推荐
- Android Animation (安卓动画)概念简介
Android Animation Android 四种动画分别为逐帧动画和补间动画.属性动画.过渡动画: Frame Animation (逐帧动画) 实现方式:xml 和 Java代码 图片跳转的 ...
- Android动画之帧动画和补间动画
Android系统提供三种动画:帧动画.补间动画和属性动画.这里先分析总结帧动画和补间动画. FrameAnimation 帧动画,通俗来说就是按照图片动作顺序依次播放来形成动画,创建帧动画可以用 x ...
- Android 动画 ViewPropertyAnimator 的使用
ViewPropertyAnimator 说明: ViewPropertyAnimator 可为View对象上的选择属性启用自动和优化的动画, ViewPropertyAnimator 不是由调用方构 ...
- Android ViewAnimationUtils (动画) 的使用
先看下ViewAnimationUtils 实现的几个常见的效果图如下: ViewAnimationUtils 的作用: 设置剪切圆动画的动画制作器 一般的使用如下: Animator revea ...
- Android AnimationUtils (动画)的使用
AnimationUtils 其实就是补间动画(Tween Animation) 在xml 中的写了动画java 中调用 这边打算就写一个demo 简答的记录下它的使用详细的请看 点击查看,这篇博客 ...
- Android ProgressBar 加载中界面实现(loading 动画) 实现菊花的效果
实现的效果图如下: 使用方法ProgressBar ,如果感觉 这个动画不是自己想要的,需要根据ui的图片来实现只需要将xml中的animated-rotate 修改为animation-list 贴 ...
- Android 属性动画(Property Animation) ObjectAnimator的介绍
先说下属性动画与视图动画的区别: 视图动画系统仅提供为 View 对象添加动画效果的功能,因此,如果您想为非 对象添加动画效果,则必须实现自己的代码才能做到.视图动画系统也存在一些限制,因为它仅公开 ...
- Android 属性动画(Property Animation) ValueAnimator 的介绍
先说下属性动画与视图动画的区别: 视图动画系统仅提供为 View 对象添加动画效果的功能,因此,如果您想为非 对象添加动画效果,则必须实现自己的代码才能做到.视图动画系统也存在一些限制,因为它仅公开 ...
- Android 补间动画(Tween Animation)
Tween Animation(补间动画): Tween动画,通过对View的内容进行一系列的图形变换 (包括平移.缩放.旋转.改变透明度)来实现动画效果.动画效果的定义可以采用XML来做也可以采用编 ...
最新文章
- Oracle 11g学习笔记(四)
- ObjectArx开发对txt文本文件的操作一例
- python中loop函数_python + Django 的forloop功能试验讲解
- python经典程序-python经典趣味24点游戏程序设计
- [云计算]两层网络、三层网络的理解
- 如何在 AirPods Pro 上安装 Apple 的 Beta 版固件?
- mysql数据库创建删除带横杠的数据库名
- Python爬虫爬取豆瓣图书的信息和封面,放入MySQL数据库中。
- 弯曲时空量子场论的历史与现状 (上)
- python操作个人简历,python爬虫开发工程师应届生个人简历模板(Word可以直接使用)...
- python--xlsx文件的读写
- hp 430g8 笔记本摄像头黑屏问题解决
- error LNK2019 无法解析的外部符号 __imp__accept@12
- 体系切换,华为IPD的研发管理之道(上)
- f4ck论坛的小游戏(灌水贴)
- Oracle的32位ODBC驱动
- 计算机二级python刷题笔记(1)
- ※ 去年我年薪 30W,今年我一天做 3 顿饭
- angular指令心得(ng-model)
- Unity3D 鼠标检测世界中的游戏对象