皆さん、
画像をグリッドとして表示するカスタム ビューに取り組んでいます。
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
コントロールの幅がまだ決定されていないため、コントロールを実際に作成することはできません。したがって、作成する子コントロールの数が実際にはわかりません。
コントロールを動的に作成するための理想的なイベントについて、誰かがより良い考えを持っているかどうか疑問に思っています。
よろしくお願いいたします。
よろしく、
ピーター