0
我的问题是,我想改变位置我的imagebutton创建的for循环的帮助,但他们重叠多了如何摆脱它?我想改变位置我的imagebutton以编程方式在android
package com.example.applecounter;
import java.util.Random;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
public class Play extends Activity implements OnClickListener {
final Context context = this;
int counter = 0;
private MediaPlayer mplayer;
private TextView txt;
int left = 0;
int top = 0;
int right= 0;
int bottom=0;
private ImageButton bt[];
/*Here i have my OnCreate function*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play);
RelativeLayout rl = (RelativeLayout) findViewById(R.id.RelativeLayout1);
rl.setBackgroundResource(R.drawable.background);
/*Here i have which creates my Imagebutton*/
for (int i = 0; i <2; i++) {
ImageButton btn = new ImageButton(this);
btn.setBackgroundResource(R.drawable.apple);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
btn.setLayoutParams(params);
btn.setId(1);
params.width = 83;
params.height = 80;
//params.setMargins(10, 12, 50, 0);
btn.setLayoutParams(params);
params.setMargins(left,top,right,bottom);
rl.addView(btn);
btn.setOnClickListener(this);
/*Here i have both addview and onclicklistener*/
}
}
/*Here i have OnClick view for mhy button*/
@Override
public void onClick(View v) {
switch (v.getId()) {
// Here i have switch case//
case 1:
v.setVisibility(View.GONE);
mplayer = MediaPlayer.create(this, R.raw.sound);
//txt.setText("" + counter);
//counter++;
break;
default:
}
}
}
当我在for循环中创建imagebutton,所以它的重叠太多,所以我的questin是每个按钮是如何randomzie psotion?
所以你的意思,这将设置为现在的位置是两个按钮,那么问题是如何处理这段代码有多个按钮? – user3248914
您可以使用每个按钮的setId()来将它们设为一个id并使用这些id来区别对待每个按钮 – Fayaz
但它仍然重叠 – user3248914