android - Xamarin Android 动画更改位置
问题描述
我的相对布局中有一个图像视图。我正在尝试将此图像视图从左向右移动
for (int i = 0; i < 5; i++)
{
imgEl.Left += 10;
imgEl.SetZ(100);
//Thread.Sleep(100);
}
第一:我看不到它的运动。
第二:有时它会受到另一个控制。
解决方案
首先。您不是在操纵 X 坐标。其次,如果您取消注释Thread.Sleep(100)
并且您在 UI 线程上,您将阻止它并且不会发生动画。
你为什么不用它ObjectAnimator
来做你的动画呢?
将图像向右移动 100 像素就像这样简单:
var animation = ObjectAnimator.OfFloat(imageView, "translationX", 100f);
animation.SetDuration(250);
animation.Start();
imageView
对您的图像的引用在哪里。translationX
是正在动画的属性。100f
是动画的值。
无需制作自己的循环或创建线程或任何东西。
推荐阅读
- android - 运行时 Android/Kotlin 数据绑定错误
- node.js - 请运行`npm cache clean`
- amazon-web-services - CodePipeline 中的 CodeBuild 如何解析上一个 CloudFormation 步骤创建的资源?
- javascript - 在 NodeList 的元素之前和之后插入标记
- javascript - 设置 ESLINT 以忽略“额外分号”等警告
- c# - mvc中linq的存储过程
- php - php数组唯一值使用array_unique
- assembly - 在预测现代超标量处理器上的操作延迟时需要考虑哪些因素,以及如何手动计算它们?
- python - 使用 self 中定义的函数更新类变量
- unity3d - FBX 模型的 Unity3D 问题