2

皆さん、

画像をグリッドとして表示するカスタム ビューに取り組んでいます。

class MyImageGridView extends LinearLayout {
   ....
   public addItem(String imageFileName);
   ...
}

MainActivity のメソッドから、表示する必要があるすべての画像をonCreate呼び出します。addItem

ある時点で、子コントロールを作成する必要があります。しかし、最初に、コントロールの幅を計算する必要があります。この幅は、親コントロールの幅に比例して決まります。たとえば、幅MyImageGridViewが 600 で、1 行に 3 つの画像を表示することにした場合、子コントロールの幅は次のように設定されます。

600/3=200 pixels. 

親コントロールの幅は、最終的に持つ子コントロールの数も決定します。グリッドの行ごとに、別のLinearLayoutコントロールを作成することになります。

onSizeChangedの場合、これをすべて行うことができると考えましMyImageGridViewた。ただし、実際には子コントロールを作成できないようonSizeChangedです。Eclipse がロックアップします。

onCreateコントロールの幅がまだ決定されていないため、コントロールを実際に作成することはできません。したがって、作成する子コントロールの数が実際にはわかりません。

コントロールを動的に作成するための理想的なイベントについて、誰かがより良い考えを持っているかどうか疑問に思っています。

よろしくお願いいたします。

よろしく、
ピーター

4

1 に答える 1