gpt4 book ai didi

android - TranslateAnimation 中的 OnClickListener

转载 作者:太空宇宙 更新时间:2023-11-03 11:20:42 24 4
gpt4 key购买 nike

我正在做一个在 Android 中使用 TranslateAnimation 的项目。因为我正在成功翻译图像,但我必须将 onClickListener 添加到图像中。这意味着我在翻译过程中单击了图像并获取了它们的值,但我在图像上执行了 onClick 操作。

我正在使用以下代码:

public class SampleGame extends Activity implements OnClickListener {

int x10, x20, y10, y20;

ImageView img;

Button animation;
Handler transHandler;
RelativeLayout layout;
Random rand;
int mSpeedX, mSpeedY;
int width, height;
Thread thread;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

layout = (RelativeLayout) findViewById(R.id.layout);
animation = (Button) findViewById(R.id.animation);

animation.setOnClickListener(this);

rand = new Random();

width = getWindow().getWindowManager().getDefaultDisplay().getWidth() - 20;
height = getWindow().getWindowManager().getDefaultDisplay().getHeight() - 70;

x10 = width - rand.nextInt(width);
y10 = height;

x20 = width;
y20 = height - rand.nextInt(height);

thread = new Thread();

img.setOnClickListener(this);

}

public void onPause() {
super.onPause();
thread = null;
}

@Override
public void onClick(View v) {

if (v.equals(img)) {
Log.e("img clicked :", "yaaaaaaaaa");
}

if (v.equals(animation)) {
animation.setVisibility(View.INVISIBLE);
callTransform();
}
}

public void callTransform() {
if (thread != null) {
thread = new Thread() {
public void run() {

// Log.e("X1 value :",String.valueOf(x10));
// Log.e("X2 value :",String.valueOf(x20));
// Log.e("Y1 value :",String.valueOf(y10));
// Log.e("Y2 value :",String.valueOf(y20));

transformAnimation(x10, x20, y10, y20, img, 4000);

try {
Thread.sleep(4000);
} catch (Exception e) {
}
// Message msg=transHandler.obtainMessage();
// transHandler.sendMessage(msg);
x10 = x20;
y10 = y20;

if (x10 == width) {
x20 = width - rand.nextInt(width);
y20 = 0;
} else if (y10 == 0) {
x20 = 0;
y20 = height - rand.nextInt(height);
} else if (x10 == 0) {
x20 = width - rand.nextInt(width);
y20 = height;
} else if (y10 == height) {
x20 = width;
y20 = height - rand.nextInt(height);
}

callTransform();
}
};
thread.start();
}
}


public void transformAnimation(int xFrom, int xTo, int yFrom, int yTo, final ImageView image, int time) {
TranslateAnimation anim = new TranslateAnimation(xFrom, xTo, yFrom, yTo);
anim.setDuration(time);
image.setAnimation(anim);
}

}

我还尝试了以下示例 - 2D-Tutorial Example .

但在这方面我也没有对图像执行 onClick 操作。

那么如何在翻译过程中获取图片的onClick Action 呢?

有没有其他方法可以通过点击操作翻译图像?

提前致谢。

最佳答案

在动画期间,对象保持在其原始位置,但它会动画平移,因此您需要在动画期间手动更新布局参数

关于android - TranslateAnimation 中的 OnClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8952465/

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