我将 ImageView 放在 RelativeLayout 中。我使用 LayoutParams 设置它们并使用 setMargins() 设置每张图片的位置。将放置在第一个图像之上的最大图像数量将仅达到 8 个。它们是 5 个不同的图像和屏幕上可以放置的 8 个位置。我想在按下相应按钮时创建图像,并能够将该图像设置为 RelativeLayout 并显示更改。我想要一种方法来清除屏幕上除主/背景 ImageView 之外的所有图像。我不喜欢填充 8 X 5 = 40 图像,然后将它们全部隐藏,然后在需要显示它们时将它们的视图更改为可见。我需要一些可以根据需要填充但能够在我清除它时破坏或删除的东西。
谢谢,塞尔达
aButton.setOnClickListener(new OnClickListener(){
public void onClick(View v)
{
noteNumber++;
if(noteNumber <= 8){
note n = new note(getBaseContext());
n.setNoteNumber(noteNumber);
n.setHeight(85);
images.add(n); //ArrayList()
}
populate();
}
});
}
public void populate(){
//if(noteNumber < 9){
for(note a : images){
//note a = images.get(noteNumber-1); //images is of type ArrayList<ImageView>()
if(a != null && a.getMasterImage() != null){
int number = a.getNoteNumber();
imageParams.setMargins(25+45*number, a.getHeight(), 20, 360);
frame.addView(a.getMasterImage(),imageParams);
}
}
}
}
public class note {
private int noteNumber;
private int height;
private ImageView masterImage;
public note(Context c){
masterImage = new ImageView(c);
masterImage.setImageResource(R.raw.zelda);
this.noteNumber = 1;
height = 0;
}
/**
* @return the masterImage
*/
public ImageView getMasterImage() {
return masterImage;
}
/**
* @param masterImage the masterImage to set
*/
public void setMasterImage(ImageView masterImage) {
this.masterImage = masterImage;
}
/**
* @return the noteNumber
*/
public int getNoteNumber() {
return noteNumber;
}
/**
* @param noteNumber the noteNumber to set
*/
public void setNoteNumber(int noteNumber) {
this.noteNumber = noteNumber;
}
/**
* @return the height
*/
public int getHeight() {
return height;
}
/**
* @param height the height to set
*/
public void setHeight(int height) {
this.height = height;
}
}