1

線形レイアウトのレイアウト xml ファイルがあります。子の 1 つは、やはり ViewGroup Relative レイアウトです。私のJavaコードでは、要件に合わせてこの子Viewgroupの幅を変更したいと考えています。私はこれを試しました

enter code here

    ViewGroup childViewGroup = (LinearLayout)findViewById(childViewGroup);
    LayoutParams l = childViewGroup.getLayoutParams();
    l.width = 360; 
    childViewGroup .setLayoutParams(l);

findViewById(childViewGroup) はビューに対してのみ行うビューグループをフェッチしないため、これを行うことができませんでした。

: この小さな要件に対してまったく新しい layout.xml を定義することはできません。これは、レイアウト ファイルが巨大であり、パフォーマンスのオーバーヘッドが発生する可能性があるためです。Java アクティビティ コードで子ビュー グループの幅を変更したかっただけです。

よろしくお願いします。

4

2 に答える 2

1

ViewGroup は View のサブクラスであるため、findViewById は正常に動作するはずです。結果を LinearLayout にキャストしています。質問で指定したように、childViewGroup は LinearLayout または RelativeLayout ですか? – codelark 10 月 6 日 23:21

于 2010-11-17T23:48:08.683 に答える
0

を使用できますViewStubs

ここでリファレンスを見つけることができます:http:
//developer.android.com/resources/articles/layout-tricks-stubs.html

于 2011-05-18T15:13:34.333 に答える