浅谈Android中视图动画的属性与使用
作者:墨革 时间:2023-04-15 22:41:12
简介
Android动画主要包括视图动画和属性动画,视图动画包括Tween动画和Frame动画,Tween动画又包括渐变动画、平移动画、缩放动画、旋转动画。
Tween动画的基本属性
目标 View;
时常 duration;
开始状态 fromXXX;
结束动画 toXXX;
开始时间 startOffset;
重复次数 repeatCount;
时间轴 interpolator(插值器)。
代码示例
xml实现
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="100%"
android:toYDelta="0"
android:fillAfter="true"
android:duration="3000">
</translate>
在代码中调用
Animation translate = AnimationUtils.loadAnimation(context,R.anim.translate);
imageView.startAnimation(translate);
补充:
1.对于缩放和旋转动画,有一个pivotX
或者pivotY
,表示的是缩放或旋转的中心点。
对应的属性值有三种写法。
· 数值 50 表示当前控件的左上角加上50px;
· 百分数 50% 表示当前控件的50%;
· 百分数p 50%p 表示父控件的50%。
2.在一个动画集合里,可以通过设置stratOffset
属性,来实现多个动画并行和串行的效果。
Frame动画
Frame动画的配置文件放在drawable目录下
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/image1" android:duration="50"/>
<item android:drawable="@drawable/image2" android:duration="50"/>
<item android:drawable="@drawable/image3" android:duration="50"/>
</animation-list>
// 需要先设置成背景
imageView.setBackgroundResource(R.drawable.frame_anim);
AnimationDrawable frameAnimation = (AnimationDrawable) imageView.getBackground();
frameAnimation.start();
总结
标签:android,视图,动画
0
投稿
猜你喜欢
Android编程之SMS读取短信并保存到SQLite的方法
2022-01-30 18:02:45
Idea Jrebel 报错:Cannot reactivate,offline seat in use
2022-01-11 05:08:22
Spring Boot使用AOP实现REST接口简易灵活的安全认证的方法
2023-04-10 04:38:44
SpringBoot Redis配置Fastjson进行序列化和反序列化实现
2023-10-09 04:45:57
详解WPF中用户控件和自定义控件的使用
2023-07-25 12:20:26
Netty组件NioEventLoopGroup创建线程执行器源码解析
2022-03-07 00:36:17
C# 使用Fiddler捕获本地HttpClient发出的请求操作
2022-06-28 04:10:34
遍历文件系统目录树的深入理解
2022-09-15 20:03:46
详解Android.activity销毁流程的工作原理
2021-11-17 19:12:35
Android jni调试打印char阵列的实例详解
2022-06-18 14:55:40
Android编程之canvas绘制各种图形(点,直线,弧,圆,椭圆,文字,矩形,多边形,曲线,圆角矩形)
2023-10-16 12:16:14
Java调用第三方http接口的常用方式总结
2023-11-06 22:47:24
详解IntelliJ IDEA中TortoiseSVN修改服务器地址的方法
2023-11-25 04:51:04
java中Callback简单使用总结
2022-12-03 19:07:38
java通过方向键控制小球移动的小游戏
2023-11-10 05:25:59
c#检测端口是否被占用的简单实例
2022-08-10 01:45:49
Android应用UI开发中Fragment的常见用法小结
2021-06-16 19:35:54
C#实现目录跳转(TreeView和SplitContainer)的示例代码
2023-07-31 11:07:59
Android中使用ScrollView指定view的顶部悬停效果
2021-10-02 13:32:38
Android中Edittext设置输入条件
2023-03-11 23:05:08