0

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

}

4

0 に答える 0