当前位置: 代码迷 >> Android >> android中四个典型卡通片设置
  详细解决方案

android中四个典型卡通片设置

热度:100   发布时间:2016-05-01 16:46:26.0
android中四个典型动画设置

现总结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设置:

  1. <set?xmlns:android="http://schemas.android.com/apk/res/android"> ??
  2. ????<rotate ??
  3. ????????android:interpolator="@android:anim/accelerate_decelerate_interpolator"??
  4. ????????android:fromDegrees="90"?android:toDegrees="+270"?android:pivotX="90%"??
  5. ????????android:pivotY="90%"?android:duration="3000"> ??
  6. ????</rotate> ??
  7. </set>??

然后再在程序中获取这个xml动画文件,转换为动画对象并播放之;

  1. ?????mRotateAnimation?=?AnimationUtils.loadAnimation(mContext,?R.anim.rotate);??
  2. ?????this.startAnimation(mRotateAnimation);??

?

两种方式大同小异,都可以实现基本的动画效果。

  相关解决方案