http://code.google.com/android/reference/android/widget/AbsoluteLayout.htmlのドキュメントには次のように記載されています。
onLayout(boolean changed, int l, int t, int r, int b)
//Called from layout when this view should assign a size and position to each of its children.
だから私はそれを次のように上書きしました:
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
Log.d("test", "In MainLayout.onLayout");
int childCount = getChildCount();
for (int childIndex = 0; childIndex < childCount; childIndex++) {
getChildAt(childIndex).setLayoutParams(new LayoutParams(100, 100, 100, 100));
}
super.onLayout(changed, l, t, r, b);
}
レイアウト用の XML で子要素 (ボタン) を宣言しています。
これにより、ボタンの位置は正しく設定されますが、サイズは設定されません。サイズは、XML で定義されているものから取得されます (必須の属性です)。