我有一个图像按钮,我想随机移动, 我不知道该怎么做,我也试过其他问题,但是无法理解, 我希望我的图像按钮在屏幕上随机移动,它不应该移出,它应该首先与每个设备兼容。
我也尝试过在gridlayout中制作按钮,然后单独使它们在1000毫秒内可见和不可见,但这不是有效的方法...... 还有其他方法吗?
public void display(int x){
String q=score.toString();
s.setText(q);
switch (x) {
case 1: {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
b1.setVisibility(View.VISIBLE);
b1.setEnabled(true);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
score++;
}
});
}
}, 1000);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
disable();
int x=random();
display(x);
}
}, 2000);
}
答案 0 :(得分:0)
您可以使用1并使用setX和setY更改其位置,而不是创建多个按钮。
例如;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
b1.setX( Enter random number within your screen boundary );
b1.setY( Enter random number within your screen boundary );
}
}, 2000);
您需要计算屏幕边界并考虑 setX和setY位置适用于按钮视图的左上角。
对于低于8的API,您需要使用如下所示的LayoutParams,或者您也可以在此处引用代码(How can I dynamically set the position of view in Android?)
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); //WRAP_CONTENT param can be FILL_PARENT
params.leftMargin = 206; //XCOORD
params.topMargin = 206; //YCOORD
childView.setLayoutParams(params);