LinearLayout、RelativeLayout、および AbsoluteLayout の違いについて混乱しています。誰かがそれらの正確な違いを教えてもらえますか?
5 に答える
LinearLayout
ビューを1つずつ(垂直/水平に)整列できることを意味します。
RelativeLayout
親からの見解と他の見解の関係に基づくことを意味します。
ConstraintLayout
ウィジェットの配置とサイズ設定にリレーションを使用するという点でRelativeLayoutに似ていますが、柔軟性が高く、レイアウトエディターでの使用が簡単です。
WebView
HTML、静的または動的ページをロードします。
FrameLayout
フレーム内のカードのように、子を上下にロードするには、上下またはフレーム内の任意の場所に配置できます。
非推奨- AbsoluteLayout
ビューがあるべき正確な位置を指定する必要があることを意味します。
詳細については、このアドレスを確認してくださいhttps://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts
定義:
- フレーム レイアウト: これは、画面上の領域をブロックして 1 つのアイテムを表示するように設計されています。
- 線形レイアウト: 子を 1 列または 1 行に配置するレイアウト。
- 相対レイアウト: このレイアウトは、子ビューを相対位置で表示するビュー グループです。
- テーブル レイアウト: 子を行と列に配置するレイアウト。
詳しくは:
FrameLayout は、画面上の領域をブロックして 1 つの項目を表示するように設計されています。通常、FrameLayout は、1 つの子ビューを保持するために使用する必要があります。これは、子ビューが互いに重なり合うことなく、さまざまな画面サイズに拡張できる方法で子ビューを整理することが難しい場合があるためです。ただし、複数の子を FrameLayout に追加し、属性を使用して各子に重力を割り当てることで、FrameLayout 内の位置を制御でき
android:layout_gravity
ます。子ビューはスタックに描画され、最後に追加された子が一番上になります。FrameLayout のサイズは、その最大の子 (およびパディング) のサイズであり、表示されるかどうか (FrameLayout の親が許可する場合) です。
RelativeLayout は、ネストされたビュー グループを排除し、レイアウト階層をフラットに保つことができるため、ユーザー インターフェイスを設計するための非常に強力なユーティリティであり、パフォーマンスが向上します。入れ子になった LinearLayout グループをいくつか使用している場合は、それらを単一の RelativeLayout に置き換えることができる場合があります。
(現在のドキュメントはこちら)
TableLayout は多数の
TableRow
オブジェクトで構成され、それぞれが行を定義します (実際には、他の子を持つこともできます。これについては以下で説明します)。TableLayout コンテナーは、行、列、またはセルの境界線を表示しません。各行には 0 個以上のセルがあります。各セルは、1 つの View オブジェクトを保持できます。テーブルには、セルが最も多い行と同じ数の列があります。テーブルはセルを空のままにすることができます。HTML と同様に、セルは複数の列にまたがることができます。列の幅は、その列で最も幅の広いセルを含む行によって定義されます。
注: 絶対レイアウトは非推奨です。
LinearLayout :子を水平または垂直の 1 行に編成するレイアウト。ウィンドウの長さが画面の長さを超えると、スクロールバーが作成されます。これは、ビューを 1 つずつ (垂直/水平) 整列できることを意味します。
RelativeLayout :これにより、子オブジェクトの相対的な位置 (子 A を子 B の左側) または親 (親の上に揃える) を指定できます。親からのビューと他のビューの関係に基づいています。
WebView : HTML、静的または動的ページをロードします。
詳細については、次のリンクを参照してください: http://developer.android.com/guide/topics/ui/layout-objects.html
LinearLayout - LinearLayout では、ビューは垂直方向または水平方向に編成されます。
RelativeLayout - RelativeLayout は LinearLayout よりもはるかに複雑であるため、より多くの機能を提供します。名前が示すように、ビューは互いに相対的に配置されます。
FrameLayout - 単一のオブジェクトとして動作し、その子ビューは互いに重なり合っています。FrameLayout は、最大の子要素に従ってサイズを取得します。
Coordinator Layout - Android サポート ライブラリで導入された最も強力な ViewGroup です。これは FrameLayout として動作し、フローティング ボタンやスナックバー、スクロール可能なビューを備えたツールバーなど、子ビュー間で調整するための多くの機能を備えています。
ここでの素晴らしい説明:
https://www.cuelogic.com/blog/using-framelayout-for-designing-xml-layouts-in-android
LinearLayoutは、要素を水平または垂直に並べて配置します。
RelativeLayoutは、特定のルールに基づいて UI 要素を配置するのに役立ちます。次のようなルールを指定できます: これを親の左端に揃える、これをこの要素の左/右に配置するなど。
AbsoluteLayoutは絶対配置用です。つまり、ビューが移動する正確な座標を指定できます。
FrameLayoutでは、Z 軸に沿ってビューを配置できます。つまり、ビュー要素を上下に積み重ねることができます。