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;
}
}