Android 基础动画之 alpha 透明度 / translate 平移 / rotate 旋转

简介:       小菜最近在学习 Android 基本动画,前两天整理了一下相对复杂的 Android 基础动画之 scale 渐变缩放,今天继续学习整理其他三种基本动画。 公共属性: 1. android:duration="3500"       duration 代表动画过程中持续时常;所有的动画均有该属性; 2. android:fillAfter="true"       fillAfter 代表动画结束后是否保存在最后位置,true 为结束位置,false 为返回开始位置。

      小菜最近在学习 Android 基本动画,前两天整理了一下相对复杂的 Android 基础动画之 scale 渐变缩放,今天继续学习整理其他三种基本动画。

公共属性:

1. android:duration="3500"

      duration 代表动画过程中持续时常;所有的动画均有该属性;

2. android:fillAfter="true"

      fillAfter 代表动画结束后是否保存在最后位置,true 为结束位置,false 为返回开始位置。

      动画的绑定方式可以参考上一篇博客,下面直接介绍各动画详细属性。

Alpha 透明度

anim_alpha.xml

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3500"
    android:fromAlpha="0.0"
    android:toAlpha="1.0" />

1. android:fromAlpha="0.0"

      fromAlpha 代表 View 的初始透明度;

2. android:toAlpha="1.0"

      toAlpha 代表 View 的终止透明度;

      Tips: 透明度设置的范围并非只是在 0.0~1.0 之间,<= 0.0 不可见,>= 1.0 为可见,设置在初始值小于 0.0 或终止值大于 1.0 时显示是有区别的。例:fromAlpha="-2.5" 和 toAlpha="1.0",动画时间前 2.5s 均不可见,最后 1s 出现由 0.0->1.0 的透明变化,建议大家多多尝试。

Translate 平移

anim_translate.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3500"
    android:fillAfter="true"
    android:fromXDelta="0"
    android:fromYDelta="0"
    android:toXDelta="50%"
    android:toYDelta="50%p" />

1. android:fromXDelta="0"

      fromXDelta 代表水平方向平移的初始位置;

2. android:toXDelta="50%"

      toXDelta 代表水平方向平移的终止位置;

3. android:fromYDelta="0"

      fromYDelta 代表竖直方向平移的初始位置;

4. android:toYDelta="50%"

      toYDelta 代表竖直方向平移的终止位置;

      Tips: 平移的值与 scale 缩放时类似,分为整数值,百分比/小数点值,百分比 + p 方式,使用方法与 scale 中一致,请参照上一篇博客介绍。

Rotate 旋转

anim_rotate.xml

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3500"
    android:fillAfter="true"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="0%"
    android:toDegrees="360" />

1. android:fromDegrees="0"

      fromDegrees 代表 View 旋转时初始角度,角度正负均可;

2. android:toDegrees="0"

      toDegrees 代表 View 旋转时终止角度;

3. android:pivotX="50%"

      pivotX 代表 View 旋转时圆心 (pivotX, y)

4. android:pivotY="0%"

      pivotY 代表 View 旋转时圆心 (x, pivotY)

Tips:

  1. pivotXpivotY 代表的圆心坐标点值与 scale 缩放时类似,分为整数值,百分比/小数点值,百分比 + p 方式;
  2. 若不设置 pivotXpivotY 默认代表 (0, 0),若不设置 fromDegreestoDegrees 默认没有反应,因为旋转角度为 0,若不设置 duration 则没有旋转效果,默认时间为 0。

      小菜的动画部分是短板,正在从零学习,不对的请多多指正。

目录
相关文章
|
5月前
|
存储 Shell Android开发
基于Android P,自定义Android开机动画的方法
本文详细介绍了基于Android P系统自定义开机动画的步骤,包括动画文件结构、脚本编写、ZIP打包方法以及如何将自定义动画集成到AOSP源码中。
104 2
基于Android P,自定义Android开机动画的方法
|
3月前
|
Android开发 UED
Android 中加载 Gif 动画
【10月更文挑战第20天】加载 Gif 动画是 Android 开发中的一项重要技能。通过使用第三方库或自定义实现,可以方便地在应用中展示生动的 Gif 动画。在实际应用中,需要根据具体情况进行合理选择和优化,以确保用户体验和性能的平衡。可以通过不断的实践和探索,进一步掌握在 Android 中加载 Gif 动画的技巧和方法,为开发高质量的 Android 应用提供支持。
|
6月前
|
XML Android开发 数据格式
Android 中如何设置activity的启动动画,让它像dialog一样从底部往上出来
在 Android 中实现 Activity 的对话框式过渡动画:从底部滑入与从顶部滑出。需定义两个 XML 动画文件 `activity_slide_in.xml` 和 `activity_slide_out.xml`,分别控制 Activity 的进入与退出动画。使用 `overridePendingTransition` 方法在启动 (`startActivity`) 或结束 (`finish`) Activity 时应用这些动画。为了使前 Activity 保持静止,可定义 `no_animation.xml` 并在启动新 Activity 时仅设置新 Activity 的进入动画。
174 12
|
7月前
|
Android开发 UED
Android Item平移动画
【6月更文挑战第18天】
123 8
|
6月前
|
XML Android开发 UED
Android动画之共享元素动画简单实践
本文介绍Android共享元素动画, 实现两Activity间平滑过渡特定UI元素。通过设置`transitionName`属性和使用`ActivityOptions.makeSceneTransitionAnimation`启动目标Activity实现动画效果。可自定义过渡动画提升体验。
94 0
|
6月前
|
Android开发
android 动画 插值器和估值器
android 动画 插值器和估值器
|
2月前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
1月前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
56 19
|
1月前
|
JSON Java API
探索安卓开发:打造你的首个天气应用
在这篇技术指南中,我们将一起潜入安卓开发的海洋,学习如何从零开始构建一个简单的天气应用。通过这个实践项目,你将掌握安卓开发的核心概念、界面设计、网络编程以及数据解析等技能。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供一个清晰的路线图和实用的代码示例,帮助你在安卓开发的道路上迈出坚实的一步。让我们一起开始这段旅程,打造属于你自己的第一个安卓应用吧!
62 14