zoukankan      html  css  js  c++  java
  • Android View动画(一) --- scale

    在我们做apk开发的过程中,如果要吸引用户,就需要要做出来一个非常炫的界面,当然动画是必不可少的,接下来就记录和学习动画相关……

    接下来就把平时的一些东西,慢慢的上传上来,做一下记录和保存

    今天要讲解的第一个是view动画中的ScaleAnimation(缩放动画)

    • scaleanimation

    它可以使View具有放大和缩小的效果,对应的类是ScaleAnimation,继承自Animation

    • 属性

    <scale>标签标示缩放动画,对应的是ScaleAnimation,

    它具有一系列的属性

     1 <?xml version="1.0" encoding="utf-8"?>
     2 
     3 <scale xmlns:android="http://schemas.android.com/apk/res/android"
     4 
     5 android:fromXScale="0.0" #起始x尺寸比例
     6 
     7 android:toXScale="1.4" #最终x尺寸比例
     8 
     9 android:fromYScale="0.0" #起始y尺寸比例
    10 
    11 android:toYScale="1.4" #最终y尺寸比例
    12 
    13 android:pivotX="50%" #缩放起点x轴坐标,取值可以是数值(50)、百分数(50%)、百 分数p(50%p),当取值为数值时,缩放起点为View左上角坐标 加具体数值像素,当取值为百分数时,表示在当前View左上角坐 加上View宽度的具体百分比,当取值为百分数p时,表示在View 左上角坐标加上父控件宽度的具体百分比
    14 
    15 android:pivotY="50%" #同上
    16 
    17 android:duration="700" #动画持续时间,毫秒为单位
    18 
    19 android:fillAfter="true" #动画结束后,保持结束时的状态
    20 
    21 android:fillBefore="true" #动画结束后,恢复为初始状态
    22 
    23 android:fillEnabled="true" #效果同上
    24 
    25 android:repeatCount="5" #重复次数,取值为-1时无限重复,默认动画执行一次
    26 
    27 android:repeatMode ="reverse" #重复模式,有reverse和restart两个值,前者为倒序回放,后者为重新开始
    28 
    29 android::interpolator="@android:anim/accelerate_decelerate_interpolator" #插值器 影响的是动画的速度 这个属性可以不指定,默认的是加速减速差值器 />
    • 缩放动画的使用

    分为两种:xml方式的使用、代码中的使用

    1. xml使用的方式:

    第一步:首先在res目录下面新建一个anim的文件夹,在里面新建一个xml的文件,如下图

     

     第二步:根据需要添加相应的属性

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <scale xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:fromXScale="0.0"
     4     android:toXScale="1.4"
     5     android:fromYScale="0.0"
     6     android:toYScale="1.4"
     7     android:pivotX="0"
     8     android:pivotY="50%"
     9     android:duration="1000"
    10     android:repeatCount="4"
    11     android:repeatMode="reverse"
    12     android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    13     />

    第三步,在代码使用xml

    1 tv = findViewById(R.id.tv);
    2 Animation animation = AnimationUtils.loadAnimation(this,R.anim.scalefile);
    3 tv.startAnimation(animation);

    直接在代码中使用scaleAnimation类去使用缩放动画:

    1 ScaleAnimation scaleAnimation = new ScaleAnimation(1,1.4f,1,1.4f,0.5f,0.5f);
    2 scaleAnimation.setDuration(1000);
    3 scaleAnimation.setRepeatCount(4);
    4 scaleAnimation.setRepeatMode(Animation.REVERSE);
    5 tv.startAnimation(scaleAnimation);
    • 总结

    关于scaleAnimation就先降到这里,需要源码的可以下载https://github.com/yangmtou/AnimationForAndroid

  • 相关阅读:
    非诚勿扰骆琦攻略
    IT服务者的困惑与解决之道
    某某银行IT运维管理的三点和四化
    提升CIO地位及IT价值体现,IT治理理念在中国势在必行
    振兴民族软件,险恶的江湖该如何仗剑走天涯
    某连锁饭店IT服务台、自助服务建设
    证券行业ITIL初探助力券商成就IT管理之路
    分享屡见成效的另类方法论保障ITIL软件及ITSM方案落地实施
    城市商业银行IT科技工作管理之痛
    【转】陈天晴:信息化发展要注意规划调整 重视IT治理
  • 原文地址:https://www.cnblogs.com/YangMT/p/9022015.html
Copyright © 2011-2022 走看看