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

  • 相关阅读:
    Java vs Python
    Compiled Language vs Scripting Language
    445. Add Two Numbers II
    213. House Robber II
    198. House Robber
    276. Paint Fence
    77. Combinations
    54. Spiral Matrix
    82. Remove Duplicates from Sorted List II
    80. Remove Duplicates from Sorted Array II
  • 原文地址:https://www.cnblogs.com/YangMT/p/9022015.html
Copyright © 2011-2022 走看看