当前位置: 首页 > news >正文

一起Talk Android吧(第四百九十二回:精简版动画)

文章目录

  • 概念介绍
  • 使用方法
  • 示例代码
  • 经验总结

各位看官们大家好,上一回中咱们说的例子是"动画集合:AnimatorSetBuilder",这一回中咱们说的例子是" 精简版动画"。闲话休提,言归正转,让我们一起Talk Android吧!

概念介绍

我们在前面章回中介绍了各种动画的概念及其使用方法,使用方法有两种:xml配置和代码实现。有些看官喜欢使用xml配置,有些看官喜欢用代码实现。为此他们还争论不休。本章回将介绍另外一种精简版动画:ViewPropertyAnimator。它只用一行代码就能实现各种动画功能。

使用方法

  1. 创建ViewPropertyAnimator对象;
  2. 通过该对象的方法来创建并且播放动画;

该使用方法比较简单,不过我们还需要做一些补充:

  • 创建ViewPropertyAnimator对象使用animate()方法;
  • 该方法是View类的方法,因此每个控件都可以使用;
  • 该方法除了创建对象外还把动画对象和控件绑定在了一起;
  • 使用该方法创建了一个匿名对象,使用匿名对象的公有方法可以创建动画而且播放动画,不需要单独去播放动画;
  • 使用匿名对象的公有方法时可以通过链式调用,这样相当于一次性播放多种动画,也就是动画集合的功能。

ViewPropertyAnimator对象常用的公有方法如下:

alpha()            //实现渐变动画功能
scaleX()/Y         //实现缩放动画功能
translationX()     //实现平移动画功能
rotationX()        //实现旋转动画功能
setDuration()      //设置动画播放时间
setInterpolator()  //设置动画插值器

示例代码

介绍完使用方法后,我们通过文字结合代码的方式来演示。

private void viewPropertyAnimator() {//单独使用一种动画mImageView.animate().alpha(0.1f).setDuration(3000);//链式调用使用动画集合mImageView.animate().rotation(360).scaleX(0.5f).scaleY(0.5f).setDuration(3000);
}

上面代码中直接使用了ImageView控件,它的布局和获取没有写出来。大家在实践时可以自己补上,编译并且运行此程序,可以看到图片的动画效果。我在这里就不显示动画效果了,希望大家自己动手去实践。

经验总结

精简版动画属于属性动画,类似ObjectAnmator.它可以对控件的属性进行控制。

精简版动画使用很方便,几乎是一行代码实现了动画功能,而且没有任何的xml配置。它把常用的动画都封装成方法,使用十分方便。这就是我称它为精简版本动画的原因。

不过它也有一些缺点:动画的默认值就是初始值,不能调整初始值。比如缩放时只能以当前大小为基准进行缩放。

看官们,关于"精减版动画"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

相关文章:

一起Talk Android吧(第四百九十二回:精简版动画)

文章目录概念介绍使用方法示例代码经验总结各位看官们大家好,上一回中咱们说的例子是"动画集合:AnimatorSetBuilder",这一回中咱们说的例子是" 精简版动画"。闲话休提,言归正转,让我们一起Talk Android吧&…...

seata源码-全局事务回滚服务端源码

这篇博客来记录在发起全局事务回滚时,服务端接收到netty请求是如何处理的 1. 发起全局事务回滚请求 在前面的博客中,有说到过,事务发起者在发现分支事务执行异常之后,会提交全局事务回滚的请求到netty服务端,这里是发…...

【Vue3源码】第一章 effect和reactive

文章目录【Vue3源码】第一章 effect和reactive前言1、实现effect函数2、封装track函数(依赖收集)3、封装reactive函数4、封装trigger函数(依赖触发)5、单元测试【Vue3源码】第一章 effect和reactive 前言 今天就正式开始Vue3源码…...

C函数指针

函数指针是指向函数的指针变量。通常我们说的指针变量是指向一个整型、数组或字符型等变量,而函数指针是指向函数。函数指针可以像一般函数一样,用于调用函数、传递参数。函数指针变量的声明:typedef int (*fun_ptr)(int,int); // 声明一个指…...

2023同等学力申请硕士计算机综合国考

同等学力国考报名要开始了 2023年2月15日,中国教育考试网和“全国同等学力人员申请硕士学位管理工作信息平台”(https://tdxl.chsi.com.cn,联系服务电话:010-67410388)公布报名工作通知。考生须按照通知要求进行注册或…...

英语基础-并列句概述

什么是并列句?并列句就是用连词把独立的句子连接起来,使得句子之间产生并列的逻辑。 1. 并列句中的逻辑 1. 小明步行上学,小红骑自行车上班。 Ming goes to school on foot,and Hong goes to work by bike. 平行逻辑 2. 小红经常玩手机…...

大数据框架之Hadoop:HDFS(一)HDFS概述

1.1HDFS产出背景及定义 HDFS 产生背景 随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件…...

20230210组会论文总结

目录 【Ultra-High-Definition Low-Light Image Enhancement: A Benchmark and Transformer-Based Method】 【ShuffleMixer: An Efficient ConvNet for Image Super-Resolution】 【A Close Look at Spatial Modeling: From Attention to Convolution 】 【DEA-Net: Single i…...

Python - 数据容器dict(字典)

目录 字典的定义 字典数据的获取 字典的嵌套 字典的各种操作 新增与更新元素 [Key] Value 删除元素 pop和del 清空字典 clear 获取全部的键 keys 遍历字典 容器通用功能总览 字典的定义 使用{},不过存储的元素是一个个的:键值对&#…...

傻白探索Chiplet,文献阅读笔记汇总(十二)

Summary(方便分类管理) Article(文献出处) 方便再次搜索 Data(文献数据) 总结归纳,方便理解 Comments(对文献的想法)/Why(为什么看这篇文献)强…...

#电子电气架构——Vector工具常见问题解决三板斧

我是穿拖鞋的汉子,魔都中一位坚持长期主义的工科男。 今天在与母亲聊天时,得到老家隔壁邻居一位大姐年初去世的消息,挺让自己感到伤感!岁月如流水,想抓都抓不住。想起平时自己加班的那个程度,可能后续也要自己注意身体啦。 老规矩,分享一段喜欢的文字,避免自己成为高知…...

文本三剑客之grep

Grep是Linux用户用来搜索文本字符串的命令行工具。您可以使用它在文件中搜索某个单词或单词的组合,也可以将其他Linux命令的输出通过管道传输到grep,因此grep可以仅显示您需要查看的输出。grep的命令格式如下:grep 选项 查找条件 目标文件…...

pwn手记录题1

fuzzerinstrospector(首届数字空间安全攻防大赛) 主体流程(相对比较简单,GLibc为常见的2.27版本, Allocate申请函数(其中有两个输入函数Read_8Int、Read_context; 还存在着后门函数; 关键点在于如何利用…...

自动驾驶规划 - Apollo Lattice Planner算法【1】

文章目录Lattice Planner简介Lattice Planner 算法思路1. 离散化参考线的点2. 在参考线上计算匹配点3. 根据匹配点,计算Frenet坐标系的S-L值4. parse the decision and get the planning target5. 生成横纵向采样路径6. 轨迹cost值计算,进行碰撞检测7. 优…...

以太坊数据开发-Web3.py-安装连接以太坊数据

Web3.py是连接以太坊的python库,它的API从web3.js中派生而来。如果你用过web3.js,你会对它的API很熟悉。但惭愧的是,作为一个以太坊上Dapp的开发者,我几乎没有直接使用过web3.js,也没有看过它的API。 官网&#xff1a…...

【触摸屏功能测试】MQTT_STD本地调试说明-测试记录

1、MQTT简介 MQTT是一种基于发布/订阅模式的“轻量级”通讯协议。它是针对受限的、低带宽的、高延迟的、网络不可靠的环境下的网络通讯设备设计的。 发布是指客户端将消息传递给服务器,订阅是指客户端接收服务器推送的消息。每个消息有一个主题,包含若干…...

六十分之十三——黎明前

目录一、目标二、计划三、完成情况四、提升改进(最少3点)五、意外之喜(最少2点)六、总结一、目标 明确可落地,对于自身执行完成需要一定的努力才可以完成的 1.8本技术管理书籍阅读(使用番茄、快速阅读、最后输出思维导图)2.吴军系列硅谷来信1听书、香帅的北大金融…...

【Call for papers】CRYPTO-2023(CCF-A/网络与信息安全/2023年2月16日截稿)

Crypto 2023 will take place in Santa Barbara, USA on August 19-24, 2023. Crypto 2023 is organized by the International Association for Cryptologic Research (IACR). The proceedings will be published by Springer in the LNCS series. 文章目录1.会议信息2.时间节…...

线程的信号量和互斥量

文章目录线程的信号量初始化信号量:sem_init减少信号量:sem_wait增加信号量:sem_post删除信号量:sem_destroy代码示例线程的互斥量初始化互斥量:pthread_mutex_init锁住互斥量:pthread_mutex_lock解锁互斥量…...

关于Linux,开源社区与国产化的本质区别

因为生产力驱动而非理想主义驱动。 开源运动的蓬勃发展来自于GNU(GNU is not unix),RichardMatthewStallman领导着一群黑客,带着对比尔盖茨的鄙视,制定了GPL协议,以后人人都能从伟大的前人身上学习到源代码的精髓,让软…...

Win11下Linux子系统迁移方法及报错解决

Win11 将Linux子系统从C盘迁移到其他盘Win11下Linux子系统迁移方法及报错解决1、下载LxRunOffline2、ERROR:directory is not empty 报错解决参考链接Win11下Linux子系统迁移方法及报错解决 C盘满了,Ubuntu子系统占了100多G怎么办?直接将子系…...

python维护的一些基础方法

1】通过命令行查看python安装库的基本信息 pip show numpy # 查看python中numpy库的安装版本信息 2】python 环境的开发与维护 python的开发与C\MATLAB等最大的不同就是,python中版本的更新不对历史版本负责,就是说你以历史版本开发的python程序&#…...

C语言 数组元素的指针

1.一个变量有地址,一个数组包含若干个元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址。 2.指针变量既然可以指向变量,当然也可以指向数组元素(把某一元素的地址放入一个指针变量中)。 3.所谓…...

(C语言)指针进阶

问:1. ( ),[ ],->,,--,. ,*的操作符优先级是怎么样的?2. Solve the problems:只有一个常量字符串与一个字符指针,该怎么打印常量字符串所有内容…...

DS期末复习卷(三)

选择题 某数据结构的二元组形式表示为A(D&#xff0c;R)&#xff0c;D{01&#xff0c;02&#xff0c;03&#xff0c;04&#xff0c;05&#xff0c;06&#xff0c;07&#xff0c;08&#xff0c;09}&#xff0c;R{r}&#xff0c;r{<01&#xff0c;02>&#xff0c;<01&a…...

Java链表模拟实现+LinkedList介绍

文章目录一、模拟实现单链表成员属性成员方法0&#xff0c;构造方法1&#xff0c;addFirst——头插2&#xff0c;addLast——尾插3&#xff0c;addIndex——在任意位置插入3.1&#xff0c;checkIndex——判断index合法性3.2&#xff0c;findPrevIndex——找到index-1位置的结点…...

MySQL——单表、多表查询

一、单表查询 素材&#xff1a; 表名&#xff1a;worker-- 表中字段均为中文&#xff0c;比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 varcha…...

关于表的操作 数据库(3)

目录 前期准备工作&#xff1a; 一、单表查询&#xff1a; 二、多表查询&#xff1a; 前期准备工作&#xff1a; 修改数据库的配置文件&#xff0c;&#xff0c;使其可以显示库名&#xff0c;其中//d代表当前使用的数据库名 注&#xff1a;vim /etc/my.cnf.d/mysql-server.c…...

C++:红黑树

红黑树的概念 红黑树是一棵二叉搜索树&#xff0c;但是红黑树通过增加一个存储位表示结点的颜色RED或BLACK。通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路径会比其他路径长出2倍&#xff0c;因而是接近平衡的。 红黑树的性质 ⭐…...

每天一道算法题の中缀表达式

中缀表达式&#xff08;、-、*、/&#xff09; &#xff1a;中缀表达式是指操作符位于操作数之间的数学表达式。例如&#xff0c;在中缀表达式"2 3"中&#xff0c;操作符""位于操作数"2"和"3"之间。现给定一个中缀表达式&#xff0c…...

用什么软件做网站好处/企业网站有哪些平台

《.NET Performance Testing and Optimization》学习笔记http://automationqa.com/forum.php?modviewthread&tid1655&fromuid2 转载于:https://www.cnblogs.com/preftest/archive/2013/02/22/2922982.html...

企业网站导航下拉菜单怎么做/拉人注册给佣金的app

Swift提供了所有c类语言的控制流结构。包括for和while循环来执行一个任务多次&#xff1b;if和switch语句来执行确定的条件下不同的分支的代码&#xff1b;break和continue关键字能将运行流程转到你代码的另一个点上。 除了C语言传统的for-condition-increment循环&#xff0c;…...

洛阳做网站哪家专业/大型门户网站建设

感谢师兄提供的题图&#xff01;很久之前&#xff0c;在linux下工作&#xff0c;需要多窗口&#xff0c;一般自带的终端能解决这个问题。后来一个Linux很厉害的H师兄&#xff0c;向我推荐了screen&#xff0c;但是没用几次&#xff0c;就不用了。说明&#xff0c;人在接受新事物…...

网推所和传统律所比较/搜索引擎优化方法有哪几种

高德地图 Android SDK 能够为 Android 应用开发人员提供互动的、功能丰富的 Android 手机地图。 将地图显示功能与搜索服务、定位服务分别封装为三个类库。每一个类库不相互依赖&#xff0c;用户能够分开使用。提供 2D&#xff08;栅格&#xff09;和3D&#xff08;矢量&#x…...

哪个网站可以免费做网页/活动推广朋友圈文案

Android里的C代码经常会看到AutoMutex _l(mLock); AutoMutex其实就是Thread的一种自动的互斥锁&#xff0c;定义在framework/base/include/utils/thread.h中&#xff1b; /* * Automatic mutex. Declare one of these at the top of a function. * When the function return…...

ps做图 游戏下载网站/seo优化的方法

【neo4j】出入度计算 1.度&#xff1a;size((n)--())2.出度&#xff1a;size((n)-[]->())3.入度&#xff1a;size(()-[]->(n))1.度&#xff1a;size((n)–()) 2.出度&#xff1a;size((n)-[]->()) 3.入度&#xff1a;size(()-[]->(n))...