8

ユーザーのViewアクションに応じて(同じアクティビティにとどまる)、表示される場合と表示されない場合がある場合、何が好ましいですか?

myView.setVisibility(View.INVISIBLE); // or
myView.setVisibility(View.GONE);

myView他の要素はのサイズや寸法に依存しないため、グラフィカルな結果は同じです。

INVISIBLEはビューのサイズを変更しないため、GONEを使用すると、他のビューを不必要に測定して再描画する必要がある可能性があるため、GONEよりも望ましいと思います。そして、myView再び可視化されたら、それらを再測定して再描画します。

4

3 に答える 3

20

測定への影響について考えると、正しい方向に進んでいます。どちらがより効率的かは、ビューの可視性を変更する頻度によって異なります。

たとえば、ビューがほとんどの時間表示されていない場合GONE、システムが画面上の他のビューを調整する必要があるたびに、不必要に非表示のビューを測定してレイアウトすることがないため、ビューを作成する方がおそらく効率的です。

一方、ビューが可視と不可視の間で頻繁に変化する場合は、INVISIBLE遷移ごとに余分なメジャー/レイアウトを回避できる可能性があるため、パフォーマンスが向上する可能性があります。

于 2013-03-19T17:23:36.880 に答える
-2

他の要素はビューの可視性に依存しないので、どちらでも使用できます..両方とも同じ目的を果たします。

于 2013-03-19T17:20:03.657 に答える