28

なぜRelativeLayoutが、Androidの空のアクティビティのデフォルトのレイアウトファイルでConstraintLayoutに置き換えられたのですか? ConstraintLayoutをなぜ使用するべきか、それが他のどのようなメリットを提供するのかを知る必要があります。私たちは既に相対レイアウトを持っているので、制約レイアウトに行くのはなぜですか?

+29

これは新機能です。そして、新しいものは輝いている –

+2

それは本質的により良い 'RelativeLayout'です。 RelativeLayoutができない多くのことを行うことができますし、パフォーマンスもはるかに優れています。 –

+0

もちろん、一緒に仕事をするのは楽しいことです。あなたは 'RelativeLayout'で決してできないようなレイアウトを単純化することができます。私は誰もそれを使って遊ぶことを奨励します。もちろん、グラフィカルエディタを使わないでください、彼らはいつもひどいです。レイアウトを最大限に活用するには、xmlを直接編集します。 –

答えて

18

Xaver Kapellerから提供されているように、「ConstraintLayoutの主な目的はRelativeLayoutの問題を解決することであり、とてもうまくいきます。あなたはRelativeLayoutで不可能だった多くのことを行うことができます。あなたが以前には想像もしていなかったようなレイアウトを実現することができ、また、RelativeLayoutのパフォーマンスに関する長年の問題を解決しました。

これは、ドラッグアンドドロップスタイルエディタを使用してRelativeLayoutをXcodeのInterface Builderと似ていない方法でレイアウトを作成できるという利点があります。

制約レイアウト:この新しいレイアウトは、複数のレイアウトを入れ子にすることなくダイナミックなユーザーインターフェイスを作成できるようにする、アプリの柔軟なレイアウトマネージャです。 Android Studioと緊密に連携し、APIレベル9と下位互換性のあるサポートライブラリとして配布されています。

一見すると、Constraint LayoutはRelativeLayoutと似ています。 しかし、Constraint LayoutはStudioで使用するように設計されており、 は、LinearLayout、FrameLayout、TableLayout、GridLayoutなどのレイアウトがより少ない に依存するように効率的にアプリケーションデザインを表現できます。 最後に、自動制約の推論エンジンが組み込まれています。 は自由にUIをデザインしてAndroidスタジオに という作業をさせることができます。

+3

あなたは私に例を教えてくれますか?相対レイアウトが失敗したか、ConstraintLayoutよりも時間/コードがかかりますか? –

+0

私はConstraintLayoutがRelativeLayoutよりも優れているだけでなく、別のフレーバーであることを強調しているので、この答えはリンクされた質問の答えよりも好きです。 – AnthonyW

関連する問題