188

LinearLayout、RelativeLayout、および AbsoluteLayout の違いについて混乱しています。誰かがそれらの正確な違いを教えてもらえますか?

4

5 に答える 5

226

LinearLayoutビューを1つずつ(垂直/水平に)整列できることを意味します。

RelativeLayout親からの見解と他の見解の関係に基づくことを意味します。

ConstraintLayoutウィジェットの配置とサイズ設定にリレーションを使用するという点でRelativeLayoutに似ていますが、柔軟性が高く、レイアウトエディターでの使用が簡単です。

WebViewHTML、静的または動的ページをロードします。

FrameLayoutフレーム内のカードのように、子を上下にロードするには、上下またはフレーム内の任意の場所に配置できます。

非推奨- AbsoluteLayoutビューがあるべき正確な位置を指定する必要があることを意味します。

詳細については、このアドレスを確認してくださいhttps://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts

于 2011-02-05T06:00:44.313 に答える
54

定義:

  • フレーム レイアウト: これは、画面上の領域をブロックして 1 つのアイテムを表示するように設計されています。
  • 線形レイアウト: 子を 1 列または 1 行に配置するレイアウト。
  • 相対レイアウト: このレイアウトは、子ビューを相対位置で表示するビュー グループです。
  • テーブル レイアウト: 子を行と列に配置するレイアウト。

詳しくは:

FrameLayout

FrameLayout は、画面上の領域をブロックして 1 つの項目を表示するように設計されています。通常、FrameLayout は、1 つの子ビューを保持するために使用する必要があります。これは、子ビューが互いに重なり合うことなく、さまざまな画面サイズに拡張できる方法で子ビューを整理することが難しい場合があるためです。ただし、複数の子を FrameLayout に追加し、属性を使用して各子に重力を割り当てることで、FrameLayout 内の位置を制御できandroid:layout_gravityます。

子ビューはスタックに描画され、最後に追加された子が一番上になります。FrameLayout のサイズは、その最大の子 (およびパディング) のサイズであり、表示されるかどうか (FrameLayout の親が許可する場合) です。

RelativeLayout

RelativeLayout は、ネストされたビュー グループを排除し、レイアウト階層をフラットに保つことができるため、ユーザー インターフェイスを設計するための非常に強力なユーティリティであり、パフォーマンスが向上します。入れ子になった LinearLayout グループをいくつか使用している場合は、それらを単一の RelativeLayout に置き換えることができる場合があります。

(現在のドキュメントはこちら)

TableLayout

TableLayout は多数のTableRowオブジェクトで構成され、それぞれが行を定義します (実際には、他の子を持つこともできます。これについては以下で説明します)。TableLayout コンテナーは、行、列、またはセルの境界線を表示しません。各行には 0 個以上のセルがあります。各セルは、1 つの View オブジェクトを保持できます。テーブルには、セルが最も多い行と同じ数の列があります。テーブルはセルを空のままにすることができます。HTML と同様に、セルは複数の列にまたがることができます。

列の幅は、その列で最も幅の広いセルを含む行によって定義されます。


: 絶対レイアウトは非推奨です。

于 2014-09-13T16:34:17.810 に答える
5

LinearLayout :子を水平または垂直の 1 行に編成するレイアウト。ウィンドウの長さが画面の長さを超えると、スクロールバーが作成されます。これは、ビューを 1 つずつ (垂直/水平) 整列できることを意味します。

RelativeLayout :これにより、子オブジェクトの相対的な位置 (子 A を子 B の左側) または親 (親の上に揃える) を指定できます。親からのビューと他のビューの関係に基づいています。

WebView : HTML、静的または動的ページをロードします。

詳細については、次のリンクを参照してください: http://developer.android.com/guide/topics/ui/layout-objects.html

于 2016-02-04T07:03:43.507 に答える
4

LinearLayout - LinearLayout では、ビューは垂直方向または水平方向に編成されます。

RelativeLayout - RelativeLayout は LinearLayout よりもはるかに複雑であるため、より多くの機能を提供します。名前が示すように、ビューは互いに相対的に配置されます。

FrameLayout - 単一のオブジェクトとして動作し、その子ビューは互いに重なり合っています。FrameLayout は、最大の子要素に従ってサイズを取得します。

Coordinator Layout - Android サポート ライブラリで導入された最も強力な ViewGroup です。これは FrameLayout として動作し、フローティング ボタンやスナックバー、スクロール可能なビューを備えたツールバーなど、子ビュー間で調整するための多くの機能を備えています。

于 2017-01-02T08:41:16.857 に答える
3

ここでの素晴らしい説明:
https://www.cuelogic.com/blog/using-framelayout-for-designing-xml-layouts-in-android

LinearLayoutは、要素を水平または垂直に並べて配置します。

RelativeLayoutは、特定のルールに基づいて UI 要素を配置するのに役立ちます。次のようなルールを指定できます: これを親の左端に揃える、これをこの要素の左/右に配置するなど。

AbsoluteLayoutは絶対配置用です。つまり、ビューが移動する正確な座標を指定できます。

FrameLayoutでは、Z 軸に沿ってビューを配置できます。つまり、ビュー要素を上下に積み重ねることができます。

于 2016-10-10T09:16:36.550 に答える