69

RelativeLayoutの利点は、アンドロイドのLinearLayoutには何がありますか?あなたが好む特定のデザインとその背後にある理由は何ですか?LinearLayoutとRelativeLayout

これは(RelativeLayout)と同等か類似していますか?<div> ??

+3

その優れている場合、検索あなたの質問タグ[RelativeLayout VSのLinearLayout](...はるかに重要になりますgoogleのhttp://www.google.co.jp/search?q=LinearLayout+vs+RelativeLayout&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a) – user370305

+0

+1この記事では、かなり良い答えがあります:[LinearLayoutとRelativeLayoutを使用するタイミング](http://logc.at/2011/10/18/when-to-use-linearlayout-vs-relativelayout/ ) – scatmoi

答えて

45

読むthis article

AndroidのUIツールキットを使用してかなり簡単であると、ほとんどの時間は、あなただけのユーザーインターフェイスを実装するには、これらのレイアウトマネージャの基本的な機能を必要とするいくつかのレイアウトマネージャを提供しています。残念ながら、基本的な機能に固執することは、ユーザーインターフェイスを作成する最も効率的な方法ではありません。一般的な例は、LinearLayoutの乱用であり、これはビュー階層内のビューの拡大につながります。初期化、レイアウト、描画が遅くなるため、すべてのビュー、またはすべてのレイアウトマネージャがアプリケーションに追加するコストがかかります。 weightパラメータを使用する複数のLinearLayoutをネストすると、レイアウトパスが特に高価になります。子を2回測定する必要があります。

ビューは親、RelativeLayout自体、またはその他の意見たとえば、説明はRelativeLayoutの下部に揃えられ、タイトルは説明の上に配置され、親の上部に固定されていると宣言しました。 GONEの記述では、RelativeLayoutはタイトルの下端をどこに配置するかを知らない。この問題を解決するには、alignWithParentIfMissingという非常に特殊なレイアウトパラメータを使用できます。

このブールパラメータは、制約ターゲットがないときに、独自のエッジをアンカーとして使用するようにRelativeLayoutに指示します。たとえば、GONEビューの右側にビューを配置し、alignWithParentIfMissingをtrueに設定すると、RelativeLayoutはそのビューを左端に固定します。この場合、alignWithParentIfMissingを使用すると、RelativeLayoutはタイトルのボトムを独自のボトムに揃えます。あなたは、インスタンスのためのリストビュー内のすべての項目のために、このようなレイアウトを使用する場合

...違いは

+0

https://www.crittercism.com/blog/android-performance-tip-1/ –

14

あなたが知ることができるのは、LinearLayoutという名前で、あなたが設定した向きで垂直または水平のいずれかの線形にビューを追加します。デザインの要件に応じて次々にビューが追加されます。 RelativeLayoutは互いに関連するビューを追加するので、RelativeLayoutにオリエンテーションを宣言する必要はありません。

例えばとして、あなたは、あなたが最初にTextViewを追加し、XMLファイルにandroid:layout_below="first textview's id"を追加することによって、最初TextViewと二TextViewを参照しますので、他の下に2つのTextViewの1を追加します。この方法でRelativeLayoutに対処することができます。

関連する問題