- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试一个简单的示例,例如使用 TextView
并将其从屏幕宽度的 0% 转换为 100%
代码是:
anim0 = ObjectAnimator.ofFloat(textViewId00, "translationX", -120f, 480f);
其中 480f 是我的屏幕宽度。
我想要的是接下来的 N 次(我的示例中 n=5 )在它开始之前添加延迟。
我尝试在 onAnimationRepeat
上使用 setStartDelay()
方法添加延迟,但没有效果。
我的代码是:
textViewId00 = (TextView) findViewById(R.id.textViewId00);
anim0 = ObjectAnimator.ofFloat(textViewId00, "translationX", -120f, 480f);
anim0.setDuration(2000);
anim0.setRepeatCount(5);
anim0.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
Log.i(TAG, "anim0 onAnimationStart ");
textViewId00.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationEnd(Animator animation) {
Log.i(TAG, "anim0 onAnimationEND " );
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
Log.i(TAG, "anim0 onAnimation REPEAT " );
anim0.setStartDelay(14000);
}
});
anim0.start();
textView 出现在屏幕上,移动直到消失,然后从头开始,没有任何延迟。
最佳答案
我刚刚使用这段代码进行了尝试,看起来它正在执行您想要的操作:
public void animateView() {
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
final int screenWidth = size.x;
final ObjectAnimator anim0 = ObjectAnimator.ofFloat(textviewId00, "translationX", -120f, screenWidth);
anim0.setDuration(2000);
anim0.addListener(new Animator.AnimatorListener() {
int count;
@Override
public void onAnimationStart(Animator animation) {
textViewId00.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationEnd(Animator animation) {
if (++count < 5) {
anim0.setStartDelay(14000);
anim0.start();
}
}
@Override
public void onAnimationCancel(Animator animation) {}
@Override
public void onAnimationRepeat(Animator animation) {}
});
anim0.start();
}
关于android - 在使用 valueAnimator 重复动画之前添加延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25880981/
我需要通过 ValueAnimator 创建一个转换动画到某些特定的 x 和 y 值,所以我编写了以下代码,但它不是按我的预期工作,并在 valueAnimator.getAnimatedValue(
我有一个 Custom ViewGroup 类和我添加到其中的图像。当点击屏幕时,我想为添加的图像设置动画,使其以波浪状模式在屏幕上移动。我现在所拥有的在下面,但是尽管图像以波浪状模式移动,但它跳得太
我正在尝试制作一个动画,其中我有 4 个以不同方式玩杂耍的圆圈。 我正在使用 ValueAnimator 来执行此操作,但是当我第二次重复 AnimatorSet 时,一个元素消失并重新出现.....
我想创建一个背景色不断从红色变为蓝色的屏幕。出于某种原因,当我尝试实例化 ValueAnimator 时它总是崩溃。我不知道我的代码有什么问题 谢谢 动画类 public BackgroundAnim
我的 AsyncTasks 类中有这段工作代码。 protected void onProgressUpdate(Object... values) { View view = (Vi
因此,我正在使用 ValueAnimator 以无限循环或至少直到动画停止为止,为简笔画的四肢从一个位置设置动画到另一个位置。我的问题是,当动画师重复时,我有轻微的停顿,好像动画滞后了,但它只发生在动
我正在使用浮点值的 ValueAnimator。 ValueAnimator anim = ValueAnimator.ofFloat(-1, 1); anim.addUpdateListener(n
我正在尝试让 ValueAnimator 在结束后重复。我将它与 ListView 中的 SeekBar 一起使用。由于某种原因,ValueAnimator 将完成,再次触发 onAnimationE
我有以下方法来配置我的 ValueAnimator 以在两种颜色之间交叉淡入淡出。但它不起作用。它总是给出结束颜色值。 Integer colorFrom; Integer colorTo; publ
我想用下面这个做一个翻译动画 public static void move(TextView view){ ValueAnimator va = ValueAnimator.ofFloat(
我想要一些能够模仿 Android 中 ValueAnimator 在 iOS 中的行为的东西。在正常情况下,我会使用 UIView 动画,但不幸的是,我尝试随时间插值的对象值不适用于普通动画。 在我
是否可以在不启动动画的情况下从ValueAnimator获取动画值?我确实有开始颜色和目标颜色。 我有一个 PageTransformer,我想根据页面位置设置背景颜色。所以我想随着页面滑动改变背景颜
我尝试制作ImageView 的扩展布局动画和平移 动画,但我同时启动它们时它们看起来有点滞后。我在真实设备 Moto X(2013) 上对其进行了测试。不确定更强大的设备,因为默认情况下我所有的模拟
我正在尝试为从 0 到 100 然后再回到 0 的值设置动画。所以我认为 ValueAnimator 是最好的。我是这样做的 ValueAnimato animator = ValueAnimator
我正在尝试重现 this iOS-like Bounce Effect来自this library . 当我从触摸 RelativeLayout 中释放时,它会立即返回到顶部,而它应该以 n 毫秒的持
我有以下代码(Scala 中的 Android 项目): val animator = new ValueAnimator animator.setFloatValues(0f, 100f) anim
我对 ValueAnimator 在 Android 中的工作方式感到很困惑。这是一个代码 fragment (伪): Log("animating: ", start, end); ValueAni
我正在尝试一个简单的示例,例如使用 TextView 并将其从屏幕宽度的 0% 转换为 100% 代码是: anim0 = ObjectAnimator.ofFloat(textViewId
现在我通过检查进度何时达到 100 来检测我的 ValueAnimator 的结束... //Setup the animation ValueAnimator anim = ValueAnimato
我正在尝试在 TextView 中为这样的 double 值制作 cout-up 效果: ValueAnimator animator = new ValueAnimator(); animator
我是一名优秀的程序员,十分优秀!