gpt4 book ai didi

Android TranslateAnimation 以像素为单位的特定位置

转载 作者:太空狗 更新时间:2023-10-29 15:13:49 26 4
gpt4 key购买 nike

我想做的是在 PIXELS 中将多个 View 动画化到特定位置!我为此使用了 TranslateAnimation。我想从显示器的左上角开始制作动画,我相信 x: 0 和 y:0 到可变位置。

        private void drawGameField() {

TextView [] tvs = new TextView[10];

for(int i = 0; i < tvs.length; i++) {

tvs[i] = new TextView(this);
tvs[i].setX(i * 50);
tvs[i].setY(i * 50);
tvs[i].setText(i + "");

gamelayout.addView(tvs[i]); // relativelayout that is created in the onCreate method
animateObject(1000, tvs[i], 0, (int) tvs[i].getX(), 0, (int) tvs[i].getY());
}
}

private void animateObject(int time, TextView tv, int fromDeltaX, int toDeltaX, int fromDeltaY, int toDeltaY) {

Log.i("Animation", "Animating to: x: " + toDeltaX + ", y: " + toDeltaY);
TranslateAnimation t = new TranslateAnimation(fromDeltaX, toDeltaX,
fromDeltaY, toDeltaY);

t.setDuration(time);
tv.startAnimation(t);
}

我的问题是,die Animation 只是没有做它应该做的事情(动画动画的像素与我的输入不匹配),为什么?我做错了什么?

如您在 animateObject 方法中所见,我的 Logcat 输出完全正确,像素符合我的要求。

LogCat输出如下:

Animation  Animating to: x: 0, y: 0 
Animation Animating to: x: 50, y: 50
Animation Animating to: x: 100, y: 100
Animation Animating to: x: 150, y: 150
Animation Animating to: x: 200, y: 200 ...

最佳答案

我使用 ViewPropertyAnimator 解决了这个问题。

translationX(...) 和 translationY(...) 方法完全符合我的要求。

关于Android TranslateAnimation 以像素为单位的特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14443375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com