android - anim translate中 fromXDelta、toXDelta、fromYDelta、toXDelta属性

android - anim translate中 fromXDelta、toXDelta、fromYDelta、toYDelta属性

首先本文是个人经验,并不是参考了官方文档给出的解释,鉴于网上的很多都是一样,而且看不懂写的啥,所以自己摸索了一下规律,具体的情况还要看你自己了。其次,我这里是横屏情况下,从右边弹出界面的总结的。具体的代码可以从这里
[下载]https://download.youkuaiyun.com/download/kejizuiqianfang/10617881

translate

属性说明
fromXDelta起始点X轴坐标,经过我的测试,这里表示的是你要滑出来的界面View的右上角的位置,可以是数值、百分数、百分数p。如果是数值,比如100,表示在View右上角向右边加上100px,如果是-100,表示在View的右上角加上-100px,也就是向左移。如果是百分数,就是按View自身的比例来进行平移的。如果是百分数p,是按照主界面的比例来进行平移的,这里的主界面指的是被View压住的界面。
toXDelta终点X轴坐标,其余同上
fromYDelta起点Y轴坐标,其余同上
toYDelta终点Y轴坐标,其余同上
### Android Translate 动画功能介绍 在 Android 中,`TranslateAnimation` 是一种用于创建平移动画效果的类。这种动画可以沿 X 轴或 Y 轴方向移动视图对象[^3]。 #### 创建 Translate Animation 的方式 可以通过 XML 或者 Java/Kotlin 代码来定义 `TranslateAnimation`: ##### 方法一:通过 XML 定义 可以在 res/anim 文件夹下创建一个新的 XML 文件,例如命名为 `translate_animation.xml`: ```xml <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0%" android:toXDelta="75%" android:duration="1000"/> </set> ``` 此段代码表示一个持续时间为一秒 (1000毫秒),从当前位置到右侧75%位置水平移动的效果。 ##### 方法二:通过编程方式定义 也可以直接在 Activity 或 Fragment 中使用如下代码实例化并应用 `TranslateAnimation` 对象: ```java // 创建新的 TranslateAnimation 实例, 参数分别为 fromXType, toXType, fromYType, toYType, // 这里设置的是相对父容器百分比的形式. TranslateAnimation animation = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, 0f, Animation.RELATIVE_TO_PARENT, .75f, Animation.RELATIVE_TO_PARENT, 0f, Animation.RELATIVE_TO_PARENT, 0f); animation.setDuration(1000); // 设置动画时长为1秒钟. View viewToAnimate = findViewById(R.id.view_to_animate); viewToAnimate.startAnimation(animation); // 开始执行动画. ``` 上述例子展示了如何让指定 ID 的 View 组件沿着 X 方向由原点移动至其宽度的75%,而保持 Y 坐标的不变。 #### 关键属性解释 - **fromXDelta/toXDelta**: 表示起始和终止的 X 坐标偏移量; - **fromYDelta/toYDelta**: 同理代表垂直方向上的变化; - **duration**: 控制整个动画过程所需的时间长度; 这些参数允许开发者精确控制动画的行为模式以及视觉表现形式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值