0

LinearLayout私は固定サイズの親を持っています。データをロードし、onCreate()行を親レイアウトに動的に追加します。1 行から 10 行までがロードされます。行が常に親を埋めるようにします。たとえば、2 つの行がある場合、各行の高さは親の 50% (50% + 50% = 100%) にする必要があります。3 行ある場合、各行は親の高さの 33% などを使用する必要があります。

を使用して親の高さを取得し、行のサイズを動的に変更しようとしましたOnGlobalLayoutListenerが、残念ながらアプリを実行すると、サイズ変更はせいぜい任意です。行のサイズが変更されることもあれば、約 0.5 秒の顕著な遅延の後にサイズが変更されることもあります。

これを達成するためのより良い方法はありますか?たとえば、すでにXMLに含まれている可能性がありますlayout_weight(行がコードにのみ追加される場合)?

4

1 に答える 1

1

これを行うには、親 LinearLayoutの重みの合計を、その中にある行数に設定します。これが項目の垂直リストの場合、各行の高さを 0 に設定し、その重みを 1 に設定します。これが項目の水平リストの場合、同じことを行いますが、幅を 0 に設定し、重みを 1 に設定します。 .

于 2013-02-18T23:17:45.227 に答える