D9-Android自定义控件之动画篇1-ObjectAnimator

本篇是关于ObjectAnimator的演示
ObjectAnimator是针对有setXxxxxx方法的属性,进行的"Xxxxxx"属性变化动画
绘制部分就不废话了,前面已经说很多了,直接进入主题


一、下移示例:
9414344-d069aa61e40ea1ad.gif
下移动画.gif
/**
 * 下移动画
 */
private ObjectAnimator mMoveDown;
float translationY = getTranslationY();//当前Y偏移量
mMoveDown = ObjectAnimator//创建实例
        //(View,属性名,初始化值,结束值)
        .ofFloat(this, "translationY", translationY, translationY + 300)
        .setDuration(1000);//设置时常
mMoveDown.start();//开启动画

加上背景看一下,可以看出是整个View进行了变化。

9414344-28132b3fcafc0602.gif
加背景.gif
常用属性一览:
属性名演示解释
alpha
9414344-361b9db606f03958.gif
透明度1~0
translationX
9414344-c19ac1d9ab0d4330.gif
X方向移动
translationY
9414344-888a59601da0ea79.gif
Y方向移动
rotation
9414344-ba58fdbe672f41b4.gif
旋转(默认View中心点)
rotationX
9414344-4eaa00d4731c400c.gif
X轴旋转(默认View中心横轴)
translationY
9414344-9fd22ee1c58382f3.gif
Y轴旋转(默认View中心纵轴)
scaleX
9414344-7e65e550bcc6cccd.gif
X缩放 倍数
scaleY
9414344-a1552e517c9ab78a.gif
Y缩放 倍数

二、其他
1.旋转缩放中心点设置:
setPivotX(200);
setPivotY(200);
9414344-f9095bb28582ce1b.gif
旋转中心点.gif
2.多参数

0-->360 360-->0 0-->90

.ofFloat(this, "rotation", 0, 360,360,0,0,90)
9414344-0a624776a2ee80ac.gif
多参数.gif
3.延迟、重复、重复模式

重复模式:ValueAnimator.RESTART(1)和ValueAnimator.REVERSE(2)
重复次数:ValueAnimator.INFINITE为无限循环(-1)

translationX.setStartDelay(1000);
translationX.setRepeatCount(2);
translationX.setRepeatMode(ValueAnimator.RESTART);
RESTART重复效果
9414344-6ce2e1b025f3795c.gif
延迟,RESTART重复.gif
REVERSE重复效果
9414344-6a5f9467aa1bf65c.gif
REVERSE重复.gif

三、自定义ObjectAnimator属性

内置的只是一些常用的,我们也可以自定义自己的属性

1.自定义圆的大小动画

必须用一个setXxx的方法,属性名则为xxx,调用重绘方法

public void setCircleR(float circleR) {
    mCircleR = circleR;
    invalidate();//记得重绘
}
private ObjectAnimator circleR() {
    return ObjectAnimator//创建实例
            //(View,属性名,初始化值,结束值)
            .ofFloat(this, "circleR", 100, 50,100,20,100)
            .setDuration(3000);//设置时常
}
9414344-17adabf8ad0b5a2e.gif
自定义半径.gif
2.自定义颜色动画
public void setColor(int color) {
    mColor = color;
    invalidate();
}
private ObjectAnimator color() {
    ObjectAnimator color = ObjectAnimator//创建实例
            //(View,属性名,初始化值,结束值)
            .ofInt(this, "color", 0xff0000ff,0xffF2BA38,0xffDD70BC)
            .setDuration(3000);
    color.setEvaluator(new ArgbEvaluator());//颜色的估值器
    return color;
}
9414344-22fac2a00af843af.gif
自定义颜色.gif

下一篇将会带来:set动画集来控制多个动画,以及动画的监听。


后记、
1.声明:

[1]本文由张风捷特烈原创,转载请注明
[2]欢迎广大编程爱好者共同交流
[3]个人能力有限,如有不正之处欢迎大家批评指证,必定虚心改正

[4]你的喜欢与支持将是我最大的动力

2.连接传送门:

更多安卓技术欢迎访问:安卓技术栈
我的github地址:欢迎star
张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com

3.联系我

QQ:1981462002
邮箱:1981462002@qq.com
微信:zdl1994328

4.欢迎关注我的微信公众号,最新精彩文章,及时送达:
9414344-c474349cd3bd4b82.jpg
公众号.jpg

转载于:https://www.cnblogs.com/toly-top/p/9781876.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的体育馆管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此体育馆管理系统利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理收货地址管理、购物车管理、场地管理、场地订单管理、字典管理、赛事管理、赛事收藏管理、赛事评价管理、赛事订单管理、商品管理、商品收藏管理、商品评价管理、商品订单管理、用户管理、管理员管理等功能。体育馆管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:体育馆管理系统;SpringBoot框架;Mysql;自动化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值