现总结android下四个基本动画的方法
RotateAnimation
ScaleAnimation
AlphaAnimation
TranslateAnimation
具体用法如下:
1.Animation rotateAnimation = new RotateAnimation(+90f, +270f,
Animation.RELATIVE_TO_SELF, 0.9f,
Animation.RELATIVE_TO_SELF, 0.9f);
rotateAnimation.setDuration(3000);
girlImage.startAnimation(rotateAnimation);
/*参数含义:绕什么点旋转多少角度
* 第一个参数表示动画初始时将原图片旋转90度的状态作为初始状态
* 第二个参数表示动画结束时该图片应是原图片旋转+270的状态,-270表示逆时针旋转
* 第三四个参数表示动画旋转所绕的中心点的x位置,这是是相对图片本身0.9倍的x位置(0表图片左上角,1表示图片右下角)
* 第五六个参数表示动画旋转所绕的中心点的y位置,这里是相对图片本身0.9被的y位置。(如要要以图片为中心旋转则将两个参数改为0.5和0.5)
* */
2.Animation scaleAnimation = new ScaleAnimation(0f, 2f, 0f, 2f, //从0*0到2*2的scale变化规模
Animation.RELATIVE_TO_SELF, 1f,
Animation.RELATIVE_TO_SELF, 1f);
scaleAnimation.setDuration(3000);
girlImage.startAnimation(scaleAnimation);
/*参数含义:在什么位置将图片的大小从多少变到多少
* 第一三个参数表示将图片在xy轴上分别以初始为原图片大小0倍的大小初始显示
* 第二四个参数表示将图片变化结果的大小应该是原图片的2*2倍(横行两倍且纵向两倍)
* 第五六个参数表示动画初始的x位置,这里是设置为相对图片本身一倍大小的横向x位置
* 第七八个参数表示动画初始的y位置,这里是设置为相对图片本身一倍大小的纵向y距离。
* */
3.Animation alphaAnimation = new AlphaAnimation(0.1f, 1.0f);
alphaAnimation.setDuration(3000);
girlImage.startAnimation(alphaAnimation);
/*参数含义:将alpha值从多少变化到多少
* 第一个表示初始的alpha值,为0表示完全透明
* 第二个参数表示动画结束时的alpha值,为表示完全不透明
* 这个变化要持续的时间在setDuration中设定!
* */
4.Animation translateAnimation = new TranslateAnimation(0, 100, 0, 100);
translateAnimation.setDuration(3000);
girlImage.startAnimation(translateAnimation);
/*参数含义:将图片从什么位置移动到什么位置
* 第一三个参数表示动画开始时,原图片左上角在屏幕中所处的坐标位置,本例中是将图片左上角直接放在屏幕左上角作为动画开始
* 第二四个参数表示动画结束时,原图片左上角在屏幕中所处的位置,本例中是(100,100)的屏幕坐标。
* */
使用xml配置:
注意上面这些动画设置可以在程序代码中设定好,但是android官方推荐使用配置文件的方式来设置动画属性,这样比较方便修改,维护性好。
如rotate.xml设置:
-
<set xmlns:android="http://schemas.android.com/apk/res/android">
- <rotate
-
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
-
android:fromDegrees="90" android:toDegrees="+270" android:pivotX="90%"
-
android:pivotY="90%" android:duration="3000">
- </rotate>
- </set>
然后再在程序中获取这个xml动画文件,转换为动画对象并播放之;
- mRotateAnimation = AnimationUtils.loadAnimation(mContext, R.anim.rotate);
-
this.startAnimation(mRotateAnimation);
两种方式大同小异,都可以实现基本的动画效果。
分享到:
相关推荐
android中四种动画效果,旋转,淡出淡出,收缩,等例子
Android Fragment切换动画
Android按下录音录音动画效果 ,自定义录音、播放动画View
Android中四种补间动画的使用示例代码.zip
android 两个activity 翻转动画切换。谁如果把activity切换时的动画连贯了。给我说一下。
这是用androidOpenGL 实现的3D 动画 导入工程即可运行。
可设置多个礼物集合自动轮播显示; 可自定义设置显示动画和时长; 可自定义UI界面; 可自定义任何代码实现; 源码开源; 可设置国际化语言; 金币支持自动累加; 支持显示金币累加动画; 礼物数量可自动累加; 礼物...
android自定义ImageView实现旋转动画
android activity右进右出动画
网上一实现晃动动画的demo,可以左右晃动,可以设置晃动时间等等
这是一个录音的声波动画demo。MediaPlayer录音与播放,自定义View横向显示当前声音的动画,主页是根据分贝来的。
android实现火箭动画清理内存 文章中主要用到两个类:Animation和ActivityManager
当下App中二维码扫描、人脸扫描的场景越来越多,扫描的动画可以使用平移动画:TranslateAnimation Demo中是使用TranslateAnimation实现一个人脸扫描的效果,上下来回滑动(二维码扫描同理),参考我的博客有详细描述...
Android 贝塞尔曲线动画 拿去直接用
Android抖动动画效果(上下抖和以角旋转)
这是一个android动画循环移动的demo,实现了两个动画交替播放的功能。
【Android UI】Paint Gradient 渐变渲染 ① ( LinearGradient 线性渐变渲染 | 设置渲染方向 | 设置渲染颜色 | 设置渲染模式 | MIRROR ) https://blog.csdn.net/shulianghan/article/details/125047457 博客配套源码 ...
这里使用相对布局作为整体布局,布局中通过四个按钮的点击事件,分别实现图片imageview 的垂直移动,缩放,旋转透明度和圆形旋转的变化效果。;获取父窗体的宽度、高度 使用ofInt方法设置指定动画的数值区间。 设置...
Android圆形向外扩散颜色渐浅动画
android中属性动画,暂停,播放停止功能的实现