親ビューのレイアウトを設定したいだけで、子のレイアウト設定を保持したい場合、すべての子の Layout メソッドを呼び出さないようにすることはできますか?
現在、parent.layout() を呼び出すと、そのすべての子の幅と高さがゼロになります。レイアウトを ALL に設定する代わりに、どうにかして子を FillParent に設定できませんか? :-(
ちなみに、私の親は、主に Textviews を含む拡張 LinearLayout です。
編集:
いくつかのコード:
myLayout は LinearLayout を拡張します
myLayout.layout(left, top, right, bottom);
myLayout.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));
for each child in myLayout do {
child.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
if (v instanceof TextView) {
((TextView) v).setGravity(Gravity.CENTER);
}
しかし、子はまだ持っています:
左: 0 上: 0 右: 0 下: 0
編集 2: ところで: 上記のコードは、ViewGroup の onLayout メソッドの内部にあります。