ビューの階層を減らすために新しいAndroid Constraint Layoutを使用する方法
今年のGoogle I/Oで最近発表された新しいConstraint Layoutの使用方法についてご意見はありますか?
既存のレイアウトリソースファイルに移動し、ビジュアルエディターを開き、RelativeLayout(たとえば)を右クリックし、オプションをクリックして制約レイアウトに変換できます。
Build.gradleファイルにGradle依存関係を追加する必要もあります。
compile 'com.Android.support.constraint:constraint-layout:1.0.0'
から ドキュメント
既存のプロジェクトを更新する場合は、次の手順に従ってください:
最新のAndroid Support Repository(version 32以降))があることを確認してください:/ /これは私にとって欠けていた部分でした
[ツール]> Android> SDK Managerをクリックします。[SDKツール]タブをクリックします。Android Support Repositoryを選択し、[OK]をクリックします。
build.gradleファイルに、更新された制約レイアウトライブラリを依存関係として追加します:
dependencies {
compile 'com.Android.support.constraint:constraint-layout:1.0.0'
}
ツールバーまたは同期通知で、[プロジェクトをGradleファイルと同期]をクリックします。
プロジェクトに新しい制約レイアウトを追加するには:
- モジュールのレイアウトディレクトリを右クリックし、[新規]> [XML]> [レイアウトXML]をクリックします。レイアウトの名前を入力し、ルートタグに「Android.support.constraint.ConstraintLayout」と入力します。完了をクリックします。
既存のレイアウトを制約レイアウトに変換するには:
- Android Studioで既存のレイアウトを開き、エディターウィンドウの下部にある[デザイン]タブを選択します。コンポーネントツリーウィンドウで、レイアウトを右クリックして[ConstraintLayoutに変換]をクリックします。
これに進みます link fromGoogle CodeLabsConstraint Layoutの基本的な考え方と、Manual Constraint
、Auto Connect
&Inference
。
また、UI Builder
&Inspector
は、より高速なUIを構築するのに役立ちます。
モジュールレベルのgradleファイルにgoogle mavenリポジトリを追加する必要があります(important part)
repositories {
maven {
url 'https://maven.google.com'
}
}
次に、依存関係に次の行を追加します。
compile 'com.Android.support.constraint:constraint-layout:1.0.2'
compile 'com.Android.support.constraint:constraint-layout-solver:1.0.2'
ConstraintLayoutのパフォーマンスの利点を理解する は、従来のレイアウト階層の費用について説明しています。ネストされたレイアウトで構築されたこのレイアウトの例を示します
と主張する
ConstraintLayoutは、RelativeLayoutよりも測定/レイアウトフェーズで約40%優れたパフォーマンスを発揮します。
この Codelabプロジェクト は、ConstaintLayoutを使用してビュー階層を削減し、上記のレイアウトをフラット化する方法を示しています。
1) ConstraintLayoutを使用して新しいレイアウトを設計するには、app.gradleファイルに依存関係を含めます
compile 'com.Android.support.constraint:constraint-layout:1.0.0-alpha8'
注:レイアウト内の各ビューには、次の属性を含める必要があります。そうでない場合、ビューは(0,0)で表示されます。
<Android.support.constraint.ConstraintLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
....>
<View
Android:id="@+id/top_view"
.../>
<View
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/top_view"
app:layout_constraintBottom_toTopOf="@+id/bottom_view"
..../>
<View
Android:id="@+id/bottom_view"
.../>
</Android.support.constraint.ConstraintLayout>
2)既存のレイアウトファイルを制約レイアウトに変換するには:
Android Studioで既存のレイアウトを開き、エディターウィンドウの下部にある[デザイン]タブを選択します。コンポーネントツリーウィンドウで、ルートレイアウトを右クリックして[ConstraintLayoutに変換]をクリックします。定義された属性をアップします。
Googleは公式バージョン1.0をリリースしましたConstraintLayout
今、非ベータ版をインポートします
compile 'com.Android.support.constraint:constraint-layout:1.0.0'
こちらの情報を確認してください http://tools.Android.com/recent/constraintlayout10isnowavailable
ファイルbuild.gradle
の依存関係を変更します。
代わりにcompilecom.Android.support.constraint:constraint-layout:1.0.0-beta1
を使用してください。