`
Darar
  • 浏览: 87914 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android动画插件器

 
阅读更多
首先要了解为什么需要插值器,因为在补间动画中,我们一般只定义关键帧(首帧或尾帧),然后由系统自动生成中间帧,生成中间帧的这个过程可以成为“插值”。插值器定义了动画变化的速率,提供不同的函数定义变化值相对于时间的变化规则,可以定义各种各样的非线性变化函数,比如加速、减速等。下面是几种常见的插值器:

  • Interpolator对象 资源ID 功能作用
  • AccelerateDecelerateInterpolator @android:anim/accelerate_decelerate_interpolator 先加速再减速
  • AccelerateInterpolator @android:anim/accelerate_interpolator 加速
  • AnticipateInterpolator @android:anim/anticipate_interpolator 先回退一小步然后加速前进
  • AnticipateOvershootInterpolator @android:anim/anticipate_overshoot_interpolator 在上一个基础上超出终点一小步再回到终点
  • BounceInterpolator @android:anim/bounce_interpolator 最后阶段弹球效果
  • CycleInterpolator @android:anim/cycle_interpolator 周期运动
  • DecelerateInterpolator @android:anim/decelerate_interpolator 减速
  • LinearInterpolator @android:anim/linear_interpolator 匀速
  • OvershootInterpolator @android:anim/overshoot_interpolator 快速到达终点并超出一小步最后回到终点

插值器使用法:

<set android:interpolator="@android:anim/accelerate_interpolator">
...
</set>

个性化插值器:

如果系统提供的插值器不能满足需要,可以通过修改插值器的属性优化,比如修改AnticipateInterpolator的加速速率,调整CycleInterpolator的循环次数等。

常见的插值器可调整的属性:

<accelerateDecelerateInterpolator> 无

<accelerateInterpolator> android:factor 浮点值,加速速率,默认为1

<anticipateInterploator> android:tension 浮点值,起始点后退的张力、拉力数,默认为2

<anticipateOvershootInterpolator> android:tension 同上 android:extraTension 浮点值,拉力的倍数,默认为1.5(2 * 1.5)

<bounceInterpolator> 无

<cycleInterplolator> android:cycles 整数值,循环的个数,默认为1

<decelerateInterpolator> android:factor 浮点值,减速的速率,默认为1

<linearInterpolator> 无

<overshootInterpolator> 浮点值,超出终点后的张力、拉力,默认为2

使用修改插值器属性法

在/res/anim下创建一个XML文件(以修改overshootInterpolator属性为例)命名为my_overshoot_interpolator.xml

<?xml version="1.0" encoding="utf-8"?>
<overshootInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
    android:tension="7.0"/>

引用到自定义的插值器

<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@anim/my_overshoot_interpolator"
    .../>

自定义插值器

如果以上的修改系统插值器属性仍无法满足需要,可以自定义插值器。
分享到:
评论

相关推荐

    AE插件生成JSON文件,Android读取JSON播放动画

    在Android开发中,为了提升应用中的动画效果和性能,开发者经常使用Adobe After Effects(简称AE)来设计复杂的视觉效果,并将其导出为JSON文件。这种做法可以借助Lottie-Android库,让Android应用能够轻松地读取并...

    Android-Svg动画播放

    3. **VectorDrawable动画插件**:有些第三方库,如`android-iconify`,提供了扩展的SVG动画支持,允许在SVG图形内部添加动画元素。 总结来说,Android开发者可以利用SVG优化图形资源,提高应用质量。通过工具如vmde...

    android时钟插件源码

    `android.view.animation.RotateAnimation`是Android中的一个关键动画类,用于实现对象的旋转效果。在时钟插件中,开发者可能会创建一个`RotateAnimation`实例,设置起始和结束角度,以及动画的持续时间和重复模式。...

    Android下Fragment的动画切换效果

    通过以上步骤,你可以为Android中的Fragment创建出丰富多彩的动画切换效果,为用户提供更加生动和交互性的体验。在实际项目中,可以根据需求调整动画细节,如动画持续时间、延迟、缩放比例等,以满足特定的设计要求...

    android 天气插件

    1. **INTERNET权限**: AndroidManifest.xml中需要声明`&lt;uses-permission android:name="android.permission.INTERNET" /&gt;`,以便插件能够访问网络获取天气数据。 2. **其他权限**: 如果插件需要定位功能以显示当地...

    Android树形选择插件.zip

    在Android中,虽然原生SDK并没有内置的TreeView控件,但开发者通常会利用ListView、RecyclerView或者自定义控件来模拟实现。 2. **任意层级**:这个插件支持无限级别的树结构,意味着你可以添加任意数量的子节点到...

    Android充电动画Demo

    在Android中,动画主要分为两大类:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画是通过改变对象属性(如位置、大小、透明度等)在一定时间内的平滑过渡来实现动画效果;而帧动画则是通过播放...

    实现下拉式窗帘动画和上拉式抽屉Android动画

    首先,我们需要了解Android中的两种主要动画类型:属性动画(Property Animation)和视图动画(View Animation)。视图动画主要应用于API Level 11以下,它不改变对象的实际状态,只是视觉上的欺骗。而属性动画自API...

    Android时间选择器样式jquery插件

    总结来说,"Android时间选择器样式jquery插件"是前端开发者的一个宝贵资源,它能够帮助构建具有移动设备风格的时间选择功能,并且易于集成到现有的jQuery项目中。通过合理利用此插件,开发者可以提升用户体验,同时...

    Android widget 桌面插件

    在Android系统中,Widget是应用程序可以提供的一种桌面扩展功能,让用户可以直接在主屏幕上与应用进行交互,无需打开应用本身。Widget通常被设计成简洁、快速访问的形式,如天气预报、时钟、音乐播放控制等。本教程...

    android时钟插件

    10. **测试与调试**:开发过程中,使用Android Studio的模拟器或真实设备进行测试,通过Logcat查看日志,使用调试器定位问题,确保程序的稳定性和性能。 通过分析这个“android时钟插件”项目,开发者不仅可以学习...

    DoTWeen动画插件

    ### DoTween 动画插件详解 #### 一、DoTween 插件简介 DoTween 是一款非常强大的 Unity 动画插件,它为开发者提供了简单直观的方式来制作各种类型的动画,包括路径动画、序列动画、循环动画等。DoTween 的核心优势...

    带17种内置过渡动画的jquery轮播图插件

    bsc-slider 是一款基于 jQuery 的高效轮播图插件,其特色在于提供了丰富的过渡动画效果,使得网页中的图像展示更加生动且具有吸引力。这款插件适合用于网站的首页、产品展示、图片画廊等多种场景,能够为用户提供...

    Android-LoadAnimTemplate这是一个集成加载动画的简易框架

    在Android应用开发中,动画效果是提升用户体验的重要一环,特别是在数据加载、界面切换等场景中,优雅的加载动画能够使用户感到等待的过程更加愉快。本文将深入探讨名为"LoadAnimTemplate"的Android简易框架,它专为...

    Android SVG动画animated-vector使用Demo

    本示例"Android SVG动画animated-vector使用Demo"主要关注如何在Android应用中使用SVG,并通过animated-vector实现动态动画效果。Animated-vector是Android Lollipop(API级别21)引入的一种动画系统,它允许开发者...

    Android-Android应用中的动画评分视图库可根据所选评级显示相应的情绪

    在Android应用开发中,视觉效果和用户体验是至关重要的因素,其中动画和交互设计扮演着核心角色。本知识点将深入探讨如何在Android应用中实现一种特殊类型的视图——动画评分视图,它能够根据用户选择的评级显示相应...

    Android-Android主题换肤插件化换肤无缝切换

    插件化换肤的关键在于实现资源的隔离和动态加载,这通常涉及到Android的资源加载机制、类加载器以及反射技术。 3. **无缝切换**:为了实现皮肤的无缝切换,开发者需要确保在切换过程中不会导致界面闪烁或者用户体验...

    mapbox-plugins-android,实验性插件,以增压您的地图.zip

    在 Android 平台上,Mapbox 提供了 Mapbox Maps SDK for Android,让开发者能够轻松地在自己的应用中集成高质量的地图功能。然而,为了满足更个性化的需求,Mapbox 还推出了一系列的插件,这些插件是实验性的,可以...

    安卓插件开发(无需安装)

    `Camera.7z`、`ScaleAnimationDemo2.7z`和`uploadTemp.7z`这些文件名暗示了它们可能是包含特定功能的插件包,如“相机”功能或者“缩放动画”演示。开发者可能将这些功能打包成独立的插件,以便在需要时动态加载,...

    android最好用的图片加载插件

    在Android应用开发中,图片加载和缓存是一个关键的环节,尤其对于那些包含大量图片的社交、电商或者新闻类应用。"Android最好用的图片加载插件"通常指的是`Android-Universal-Image-Loader`库,它是一个强大的、高度...

Global site tag (gtag.js) - Google Analytics