翻译动画的工作原理:Android

2023-11-27

我正在尝试移动一个RelativeLayout using TranslateAnimation。我为执行相同操作而编写的代码是:

translateAnimation = new TranslateAnimation(0, 0, heightOfRootView-excuseContainer.getHeight(), currentYPoint);
translateAnimation.setRepeatMode(0);
translateAnimation.setDuration(500);
translateAnimation.setFillAfter(true);
excuseContainer.startAnimation(translateAnimation);

我正在尝试从特定视图的当前 y 位置开始动画 (我不需要改变视图的x位置) 但动画每次都是从第一个 y 点开始。如何从当前的 y 视图位置到所需的视图位置执行此操作。

Here heightOfRootView代表全屏高度,excuseContainer是我想要用动画移动的视图吗?currentYPoint是最后一个 y 点excuseContainer.

编辑: 我有可用的翻译动画教程。我搜索过但没有找到..

感谢您的支持。


第 3 个参数TranslateAnimation您使用的构造函数是一个增量值,因此起点的计算方式如下:

currentYPos + startingDeltaY

既然你似乎正在传递一个Y值指的是屏幕上某物的位置,该增量值将不正确。

尝试使用这个构造函数:

公共翻译动画(int fromXType,float fromXValue,int toXType,float toXValue,int fromYType,float fromYValue,int toYType,float toYValue)

像这样:

new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0, Animation.ABSOLUTE, heightOfRootView-excuseContainer.getHeight(), Animation.ABSOLUTE, currentYPoint);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

翻译动画的工作原理:Android 的相关文章

随机推荐

  • 如何在 Linux 中轻松接收邮件并将其提供给 Rails?

    我整晚都在谷歌上搜索 postfix howto 但仍然不明白我如何在 linux 服务器上接收电子邮件 更具体地说 Ubuntu 我所需要的只是一个包罗万象的邮箱 它可以获取所有电子邮件并将它们提供给 ruby 脚本 当然 然后将其传递给
  • 在 Xamarin.Forms 中自定义进度栏外观

    I used Drawable自定义渲染ProgressBar in Android正如对这个问题但该解决方案不适用于 iOS Below is how it renders in Android Below is how it rende
  • WIX,Dot Net 管理的自定义操作,使用 SQL Server 实例动态填充组合框,MSI

    在 WIX 中 我需要一个点网管理的自定义代码来动态填充该网络中 sql server 实例的值的组合框 我尝试用谷歌搜索但没有任何效果 任何帮助是极大的赞赏 CustomAction public static ActionResult
  • 未找到 Gradle DSL 方法:“compile()”

    我有这个梯度错误 错误 9 0 未找到 Gradle DSL 方法 compile 我曾尝试参考类似的问题 但没有成功 Android gradle 构建错误 9 0 未找到 Gradle DSL 方法 compile 同步 Build G
  • 为什么在 C++0x 中没有为 std::weak_ptr 定义 std::hash ?

    在阅读了关于 std weak ptr 的 operator 编辑 关于 std weak ptr 的运算符http www open std org jtc1 sc22 wg21 docs papers 2004 n1590 html 我
  • AngularJS:如何监听 DOM 事件?

    我是 AngularJS 的新手 所以请原谅我这个转储问题 如何监听 dom 事件 例如 click 或 mousemove 这就是我得到的 没有错误 但控制台中也没有结果 代码基于原始的 angularjs seed angular mo
  • 超类访问检查失败:类 com.sun.javafx.sg.prism.web.NGWebView

    我刚刚安装了 SDK 11 并使用了 Maven 中的 Javafx 我的 pom 如下
  • 强制 CMake 使用静态库

    无耻地从 CMake 帮助列表中交叉发布 我正在尝试尽可能静态地创建二进制文件 我得到的 Fortran 代码有 X11 和quadmath 作为依赖项 并且我遇到了许多问题 也许每个问题都应该在不同的问题中 我的变量目前是 set CMA
  • 如何以编程方式更改屏幕保护程序?

    我想使用 C 将当前屏幕保护程序更改为自定义屏幕保护程序 我之前将其作为 Visual Studio 中的资源加载 怎么可能呢 我在谷歌和SO上寻找过它 但它都是关于 如何创建屏幕保护程序 而不是 如何更改屏幕保护程序 如果可能的话 它应该
  • 将 3x1 或 1x3 cv::Mat 转换为 cv::Point3d?

    我正在处理一些代码 其中执行大量 3x3 矩阵乘法 还使用旋转矩阵对 3d 点进行一些转换等 我决定使用 OpenCV 核心功能进行数学运算 使用最近添加到的构造函数的可能性cv Mat类来转换cv Point3d直接到 3x1cv Mat
  • Mongodb 模式,具有唯一值的字符串数组

    我正在为 mongo 文档创建模式 除了防止非对象数组中的重复之外 我可以做所有事情 我知道 addToSet 但我指的是 Mongo Schema 我不想使用 addToSet 检查更新 而是希望这是我的架构验证的一部分 下面的例子 le
  • 使用 MyBatis 将集合持久保存在对象中

    我有 POJO 课程 class Ticket private int id private double cost private Date time private List
  • 以编程方式更改 PowerShell 控制台字体

    我开发了一个使用 PowerShell 充当基于控制台的应用程序 例如 ncurses 的脚本 字体露西达控制台在脚本的快捷方式中配置 我想为用户提供更改字体大小的能力 以下模块就是这样做的 但是字体始终重置为 光栅字体 https 4sy
  • Ajax.ActionLink 与 mvc 核心的替代方案

    在MVC5中有 Ajax ActionLink这对于仅更新部分视图而不是重新加载整个视图很有用 显然在 MVC6 中不再支持 我尝试过使用 Html ActionLink如下所示 但它不会更新表单 它仅返回部分视图 View Html Ac
  • 模板类中对友元函数的未定义引用

    以下代码位于Heap h文件中 template
  • 攻击者可以有害地使用检查元素吗?

    我知道这是一个广泛的问题 但我认为我在这里遗漏了一些东西 攻击者是否可以通过简单地使用检查元素并编辑 javascript 和 html 来对站点造成损坏 例如 对于某人来说 更改输入的最大长度并上传太多数据可能会导致服务器崩溃 这似乎太容
  • C# 中的数组大小(长度)

    如何在 C 中确定数组的大小 长度 项目数 如果是一维数组a a Length 将给出的元素数量a If b是一个矩形多维数组 例如 int b new int 3 5 b Rank 将给出维数 2 和 b GetLength dimens
  • 多处理函数上的超时装饰器

    我有这个装饰器直接取自我在网上找到的一个例子 class TimedOutExc Exception pass def timeout timeout def decorate f def handler signum frame rais
  • 如何从 Azure DevOps 部署到 AWS Kubernetes

    我使用 Azure DevOps 来处理 PBI 存储库 PRS 和构建 但我的所有基础设施 包括 Kubernetes 均由 AWS 管理 没有文档 也没有关于如何使用 Azure DevOps 任务部署到 AWS EKS 的 正确且简单
  • 翻译动画的工作原理:Android

    我正在尝试移动一个RelativeLayout using TranslateAnimation 我为执行相同操作而编写的代码是 translateAnimation new TranslateAnimation 0 0 heightOfR