为什么addView()重置我在Android Studio中的布局



我有一个线程在我的主活动中调用一个函数,该函数应该在我的布局中的某个位置添加一个图像。。当我调用我的函数时,所有功能都正常工作,但当我调用时,我的布局参数(在我的情况下为边距(重置

myLayout.addView(newImage);

这是我的线程调用的函数:

public void createImageAt(Point location) {
final ImageView newImage = new ImageView(this);
final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(90, 90);
params.leftMargin = location.x;
params.topMargin = location.y;
newImage.setImageResource(R.drawable.image);
newImage.setLayoutParams(params);
final RelativeLayout myLayout = (RelativeLayout) findViewById(R.id.gameLayout);
myLayout.post(new Runnable() {
@Override
public void run() {
myLayout.addView(newImage);
}
});
}

我的问题是,我必须通过移动左边的margin来滑动我的布局,当我调用写在margin上方的函数时,即使它是-200像素的,也会跳回0

如果状态没有保存的问题,请使newImage全局变量并重用它。只需使用myLayout.addView(newImage);myLayout.remove(newImage);

相关内容

最新更新