首先对不起我的英语。我刚开始用android开发
我的问题是:
我在随机位置创建一个 ImageView,每次触摸图像时,它都会改变它的位置。当您触摸时,您有概率 (%) 在另一个随机位置出现另一个图像。但我的问题是,当第二张图片出现时,第一张图片回到其“创建位置”而不是保持位置。
“炸弹”创建得很好,但是第一张图片回到了创建的位置,而不是现在的位置。
谢谢大家的帮助
我的测试代码示例:
public void start(View view) {
width= 60;
height= 60;
layout = (RelativeLayout) findViewById(R.id.rellayout);
widthLayout = layout.getWidth();
heightLayout = layout.getHeight();
r = new Random();
x = r.nextInt(widthLayout - 60);
y = r.nextInt(heightLayout - 60);
imagen = new ImageView(this);
imagen.setImageResource(R.drawable.led_circle_green);
RelativeLayout.LayoutParams paramss = new RelativeLayout.LayoutParams(
60, 60);
paramss.leftMargin = x;
paramss.topMargin = y;
imagen.setAdjustViewBounds(true);
layout.addView(imagen, paramss);
Animation aparecer = AnimationUtils
.loadAnimation(this, R.anim.aparecer);
imagen.startAnimation(aparecer);
imagen.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// your code here
push();
}
});
public void push() {
createBomb();
move();
}
public void createBomb() {
r = new Random();
int proba = r.nextInt(100);
if (proba < 50) {
x = r.nextInt(widthLayout - 60);
y = r.nextInt(heightLayout - 60);
bomb = new ImageView(this);
bomb.setImageResource(R.drawable.bomb);
RelativeLayout.LayoutParams paramss = new RelativeLayout.LayoutParams(
60, 60);
paramss.leftMargin = x;
paramss.topMargin = y;
bomb.setAdjustViewBounds(true);
layout.addView(bomb, paramss);
}
}
public void move() {
r = new Random();
int proba = r.nextInt(100);
if (proba < 10) {
ximg = r.nextInt(widthLayout - width);
yimg = r.nextInt(heightLayout - height);
imagen.layout(ximg, yimg, ximg + width, yimg + height);
}
}