安卓动画之TweenAnimation补间动画详细攻略

Android动画坐标系详解 前段时间写dialog底部弹出动画的时候明明觉得自己写的是对的,但效果却不对.相信很多人在写View动画的时候都遇到过这种情况.今天本文就对症下药,跟大家聊聊Animation动画坐标系,至于Animation动画的使用一般都会这里不过多赘言. Animation 动画一共有四个 1. AlphaAnimation 2. ScaleAnimation 3. RotateAnimation 4 阅读详情

*动画类型 XML配置方式 Java代码实现方式

渐变透明度动画效果 AlphaAnimation

渐变尺寸缩放动画效果 ScaleAnimation

画面旋转动画效果 RotateAnimation

画面位置移动动画效果 TranslateAnimation

组合动画效果 AnimationSet*

二、具体实现

1.透明度

xml资源文件

<?xml version="1.0" encoding="utf-8"?>

<alpha xmlns:android=“http://schemas.android.com/apk/res/android”

android:duration=“500”

android:fillAfter=“false”

android:fromAlpha=“1.0”

android:toAlpha=“0.0” />

fromAlpha:开始时透明度

toAlpha: 结束时透明度

duration:动画持续时间

fillAfter:设置动画结束后保持当前的位置

XML方式加载方式通过AnimationUtils.loadAnimation(this, R.anim.anim_alpha)获取Animation

Animation alphaAnimation = AnimationUtils.loadAnimation(this, R.anim.anim_alpha);

imageView.startAnimation(alphaAnimation);

代码实现:

Animation alphaAnimation = new AlphaAnimation(1.0f, 0.0f);

alphaAnimation.setDuration(500);//设置动画持续时间为500毫秒

alphaAnimation.setFillAfter(false);//设置动画结束后保持当前的位置(即不返回到动画开始前的位置)

imageView.startAnimation(alphaAnimation);

2.伸缩

配置文件

<?xml version="1.0" encoding="utf-8"?>

<scale xmlns:android=“http://schemas.android.com/apk/res/android”

android:duration=“500”

android:fromXScale=“0.0”

android:fromYScale=“0.0”

android:interpolator=“@android:anim/decelerate_interpolator”

android:pivotX=“50%”

android:pivotY=“50%”

android:repeatCount=“1”

android:repeatMode=“reverse”

android:startOffset=“0”

android:toXScale=“1.5”

android:toYScale=“1.5” />

fromXDelta,fromYDelta 起始时X,Y座标,屏幕右下角的座标是X:320,Y:480

toXDelta, toYDelta 动画结束时X,Y的座标

interpolator 指定动画插入器

fromXScale,fromYScale, 动画开始前X,Y的缩放,0.0为不显示, 1.0为正常大小

toXScale,toYScale, 动画最终缩放的倍数, 1.0为正常大小,大于1.0放大

pivotX, pivotY 动画起始位置,相对于屏幕的百分比,两个都为50%表示动画从自身中间开始

startOffset, 动画多次执行的间隔时间,如果只执行一次,执行前会暂停这段时间,单位毫秒

duration,一次动画效果消耗的时间,单位毫秒,值越小动画速度越快

repeatCount,动画重复的计数,动画将会执行该值+1次

repeatMode,动画重复的模式,reverse为反向,当第偶次执行时,动画方向会相反。restart为重新执行,方向不变

代码实现

Animation scaleAnimation = new ScaleAnimation(0.0f, 1.5f, 0.0f, 1.5f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

scaleAnimation.setDuration(500);//设置动画持续时间为500毫秒

scaleAnimation.setFillAfter(true);//如果fillAfter的值为true,则动画执行后,控件将停留在执行结束的状态

scaleAnimation.setFillBefore(false);//如果fillBefore的值为true,则动画执行后,控件将回到动画执行之前的状态

scaleAnimation.setRepeatCount(3);//设置动画循环次数

scaleAnimation.setRepeatMode(Animation.REVERSE);

scaleAnimation.setStartOffset(0);

scaleAnimation.setInterpolator(this, android.R.anim.decelerate_interpolator);//设置动画插入器

imageView.startAnimation(scaleAnimation);

3.旋转

<?xml version="1.0" encoding="utf-8"?>

<rotate xmlns:android=“http://schemas.android.com/apk/res/android”

android:duration=“500”

android:fromDegrees=“0”

android:interpolator=“@android:anim/accelerate_decelerate_interpolator”

android:pivotX=“50%”

android:pivotY=“50%”

android:toDegrees=“-360” />

ImageView实现图片轮询 TranslateAnimation ta = new TranslateAnimation( Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, -1f, Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, 0f); ta.setDuration(2000); animationSet1.addAnimation(ta); animationSet1.setFillAfter(true); 立即下载

相关推荐

告别‘Duang’的一声:手把手解决RK3588开发板PCIe初始化卡死问题(DTS修改实战)

本文详细介绍了解决RK3588开发板PCIe初始化卡死问题的完整过程,包括问题诊断、DTS文件修改及编译烧写步骤。通过禁用未使用的PCIe硬件资源,有效解决了启动卡死问题,为嵌入式开发者提供了实用的调试方法和经验总结。

weixin_30753873的博客 217

Android利用Animation.RELATIVE_TO_SELF做出个性化的动画

在Android开发中,Animation是用来给控件制作效果的。大多数的控件都可以用这个类,这个类包含了4种基本动作,分别为移动,旋转,淡入淡出,缩放。 使用Animation的两种方式: 方式一:在代码中创建、设置以及启动动画(移动TranslateAnimation/旋转RotateAnimation/淡入淡出AlphaAnimation/缩放ScaleAnimation),这样

彭文涛的博客 5357

QCC5125/QCC5144----LDAC 44.1K 48K 96K 192K 输出

QCC5125/QCC5144----LDAC 44.1K 48K 96K 192K 输出。而且还不需要license限制。

Alex_886的博客 1977

android--利用Animation.RELATIVE_TO_SELF做出个性化的动画

在Android开发中,Animation是用来给控件制作效果的。大多数的控件都可以用这个类,这个类包含了4种基本动作,分别为移动,旋转,淡入淡出,缩放。 使用Animation的两种方式: 方式一:在代码中创建、设置以及启动动画(移动TranslateAnimation/旋转RotateAnimation/淡入淡出AlphaAnimation/缩放ScaleAnimation),这样的优点是

程序员的良师益友 6629

保姆级教程:在Ubuntu 22.04上从零安装SUMO并运行第一个交通仿真

本教程详细介绍了在Ubuntu 22.04系统上从零安装SUMO交通仿真软件并运行第一个仿真的完整流程。涵盖环境准备、PPA源安装、核心组件验证、首次仿真案例运行以及进阶配置技巧,特别针对netedit路网编辑器和地图格式转换等实用工具进行重点讲解,帮助用户快速掌握SUMO在交通仿真领域的应用。

weixin_30546189的博客 423

【计算机科学导论实验】加法图灵机模拟 题解

本文提供计算机科学导论课程“图灵机加法器”实验的个人思路,仅供参考。

Chavapa's blog 2579

[Android] 安卓开发之循环动画

下面的代码展示了一个类似心跳的循环缩放动画: ScaleAnimation animation = new ScaleAnimation(1, (float)0.93, 1, (float)0.93, Animation.RELATIVE_TO_SELF, 0.5f,1, 0.5f); /** * @param fromX 起始x轴位置,0为最小,1为原始,flo...

菜鸟发展记录 633

组态王7.5和SQLsever数据库交互

摘要:本文详细介绍了组态王7.5与SQL Server 2016数据库交互的实现流程,包括建立连接、数据存储与查询操作。主要内容涵盖ODBC数据源配置、数据库表格创建、数据插入及查询功能实现(含日期控件查询)

gsjkwg的博客 1583

Android - Fragment,View动画,组合动画,属性动画,附小技巧

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》

2401_84153079的博客 895

UG NX二次开发(C#)-VS2022配置NX二次开发模板不能正常显示的问题

随着VS2022的发布,使用VS2022进行UG NX二次开发的人员也会越来越多,但是由于VS2022和以前的VS版本采用代码结构不同,而UG NX的二次开发编程模板还没有适应于VS2022的模板配置,所以不能正常的创建一个完整的工程。本文采用曲线救国的方式来实现VS2022下的UG NX二次开发。如果有读者能很好的解决模板配置,不吝赐教。

GimiGimmy 4277

MFC属性网格控件(CMFCPropertyGridCtrl)完全指南:构建专业属性编辑界面

本文详细介绍了MFC中的CMFCPropertyGridCtrl控件的使用方法。主要内容包括:控件基础用法(初始化、添加属性、事件处理)、高级设置(自定义外观、创建属性类型、动态更新)、派生类实现(自定义绘制、搜索过滤功能)、界面集成技巧(对话框布局、属性编辑器)以及实际应用示例。文章重点讲解了如何通过继承和自定义实现复杂功能,并提供了性能优化、多语言支持等最佳实践方案。该控件适用于需要大量参数配置的应用程序,能够创建类似Visual Studio属性窗口的专业界面。

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 155

安卓动画之TweenAnimation补间动画详细攻略(1)

有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。//如果fillBefore的值为true,则动画执行后,控件将回到动画执行之前的状态。repeatMode,动画重复的模式,reverse为反向,当第偶次执行时,动画方向会相反。startOffset, 动画多次执行的间隔时间,如果只执行一次,执行前会暂停这段时间,单位毫秒。//设置动画循环次数。

2401_84545669的博客 820

Unity 热更新技术 |(六)xLua框架学习最新系列完整教程

开始学习热更新方面系列知识,就从这一篇开始吧! 本系列教程 会从热更新基本概念出发,详细介绍热更新相关的全套知识点。 如热更新技术基本原理、热更新主流方案、AssetBundle系列教程、Lua语言编程、Lua与Unity交互教程、Xlua框架使用、热更新实战教程等方面。 热更新作为一个开发者必备技能,如果想学习的话,可以从现在开始了哦~ 接下来先从XLua学习使用 开始学习吧!

努力前行,总会成为自己心中的那道光 1万+

2024年最全安卓动画之TweenAnimation补间动画详细攻略,面试技巧书籍推荐

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。下图是我进阶学习所积累的历年腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节祝大家都能得到自己心仪工作。

2401_84563320的博客 909

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Carson带你学Android:这是一份全面&详细的动画学习指南

前言 动画的使用 是 Android 开发中常用的知识 可是动画的种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时,很多开发者就显得束手无策 本文将献上一份Android动画的全面介绍攻略,包括动画的种类、使用、原理等,能让你更好地掌握动画 从而实现更加复杂的动画效果 目录 1. 动画类型 Android动画分为两大类:视图动画 &amp; 属...

Carson带你学Android 2万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android系统(142)动画---动画使用攻略

Android动画:这是一份全面 &amp; 详细的动画使用攻略2018年04月09日 09:09:23阅读数:6475前言动画的使用 是 Android 开发中常用的知识可是动画的种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时,很多开发者就显得束手无策本文将献上一份Android动画的全面介绍攻略,包括动画的种类、使用、原理等,能让你更好地掌握动画 从而实现更加复杂的动画效...

zhangbijun1230的专栏 357

Animation及其子类相关说明

一、 Animation代码生成说明: Animation是个抽象类。有5个子类AlphaAnimation, AnimationSet, RotateAnimation, ScaleAnimation, TranslateAnimation分别实现了平移、旋转、缩放、Alpha变换、和以上动画的组合变换动画。 动画类主要作用于View   主要方法: initialize(int wi

仰望星空,脚踏实地. 1324

animation 坐标参考系 Animation.RELATIVE_TO_PARENT 与 Animation.RELATIVE_TO_SELF

今天闲来没事,研究animation使用,发现XXXAnimation构造函数参数pivotXType与pivotYType设置成Animation.RELATIVE_TO_SELF时与预期的一样,但设置成Animation.RELATIVE_TO_PARENT出现了异样,通过查看源码终于理解如何使用了 先来介绍RotateAnimation(为一个ImageView设置动画效果):RotateA

u013578042的博客 7050

Android笔记(10) - Animation详解

1.涉及的类及接口 Animations Tween Animations AnimationSet Interpolator Frame-By-Frame Animations LayoutAnimationsController AnimationListener 2.Animations介绍 Animations是

行云间 1478

android-Anmation动画详讲

Android Animation动画 Android Animation Contents: Animations Tween Animations AnimationSet Interpolator Frame-By-Frame Animations LayoutAnimationsController Anim

u014649337的专栏 1380

Android:Animation的简单学习

Animation动画效果。提供了一系列的动画效果,可以应用大多数 的控件。 一、Animations从总体上来说可以分为两大类: 1、TweenedAnimations:该类提供了旋转,移动,伸展,和淡出竺效果; 2、Frame-by-FrameAmimations:

人生百年几今日,今日不为真可惜。 1万+
下一篇: Android----Matrix-与坐标变换,最新Android开发进阶
普通网友
博客等级 码龄5年 4697粉丝 610原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值