Androidレイアウトの最適化

1255 ワード

一.WeightSumプロパティとlayout_を併用Weightプロパティ
例:
<LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:orientation="horizontal"
    android:weightSum="1">
    <Button
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_weight="0.5"/>
</LinearLayout>

インスタンスは、Buttonが画面の真ん中にある効果を実現します.
LinearLayoutのweightSumプロパティは、内部のすべてのサブビューのweightスケールの合計が1であることを示します.
Buttonの幅値は0 dpであるため、weightSum属性に基づいてButtonのwidthを決定する必要がある.
Buttonのlayout_Weight属性値は、ButtonがLinearLayoutを占有する属性を決定します.
    
二.画面の幅に応じてコントロールの高さを動的に設定
三.共通レイアウトラベルの使用
四.ViewStupは、遅延ロードビューを実現する優れたクラスです.
表示のみが必要な場合のビューを設定するには、ViewStubレイアウトを使用します.データが空の場合のプロンプトレイアウト.
inflatedIdプロパティはinflater()またはsetVisibility()メソッドを呼び出し、返されるIDは埋め込まれたViewのIDです.
五.レイアウトの描画:
ドラフトレイアウトは、2つのパスから構成されます.
測定プロセス:ビューツリーを上から下まで巡回するmeasure(int,int)メソッドで完了します.再帰ループでは、各ビューが寸法と仕様を下層に渡します.このメソッドの実行が完了すると、各ビューにはそれぞれの寸法情報が保存されます.
レイアウト・プロシージャ:layout(int,int,int,int)も悲しみを完了してビュー・ツリーを巡回し、巡回中に各親ビューは測定プロシージャの結果によってすべてのサブビューの位置情報を位置決めします.