浅谈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
  • asp之家 软件编程 m.aspxhome.com