it-swarm.com.ru

Как использовать новый Android Constraint Layout для уменьшения иерархии просмотра

Есть ли у вас какие-либо идеи о том, как использовать новую схему ограничений, которая была недавно анонсирована на Google I/O в этом году?

32
Bogdan M.

Вы можете перейти к существующему файлу ресурса макета, открыть визуальный редактор, щелкнуть правой кнопкой мыши на RelativeLayout (например) и выбрать параметр для преобразования в макет ограничения.

Вы также должны добавить зависимость Gradle в файл build.gradle:

compile 'com.Android.support.constraint:constraint-layout:1.0.0'
28
Adrian Olar

От Документы

Если вы обновляете существующий проект, действуйте следующим образом:

Убедитесь, что у вас установлена ​​последняя версия репозитория поддержки Android (версия 32 или выше): // Это была часть, которой мне не хватало

Нажмите Инструменты> Android> SDK Manager . Перейдите на вкладку Инструменты SDK . Выберите Репозиторий поддержки Android, затем нажмите OK.

Добавьте обновленную библиотеку Constraint Layout в качестве зависимости в ваш файл build.gradle:

dependencies {
  compile 'com.Android.support.constraint:constraint-layout:1.0.0'
}

На панели инструментов или уведомлении о синхронизации нажмите «Синхронизировать проект с файлами Gradle».

Чтобы добавить новый макет ограничения в ваш проект:

  • Щелкните правой кнопкой мыши на папке макета вашего модуля, затем выберите «Создать»> «XML»> «Макет XML». Введите имя для макета и введите «Android.support.constraint.ConstraintLayout» для корневого тега…. Нажмите кнопку «Готово».

Чтобы преобразовать существующий макет в макет ограничения:

  • Откройте существующий макет в Android Studio и выберите вкладку «Дизайн» в нижней части окна редактора. В окне дерева компонентов щелкните правой кнопкой мыши макет и выберите «Преобразовать в ConstraintLayout».
16
Mikelis Kaneps

Перейдите по этой ссылке из Google CodeLabs. У вас будет базовое представление о Constraint Layout и о том, как использовать различные ограничения, такие как Manual Constraint, Auto Connect & Inference

Также есть UI Builder & Inspector, который поможет нам построить более быстрый интерфейс. 

5
akashPatra

Я попробовал много версий, но я не мог решить проблему! Наконец я позволил Android Studio решить эту проблему.

В XML-файле рядом с сообщением об ошибке вы можете увидеть эту опцию! Нажмите на это, чтобы импортировать рекомендованную версию

 using version 1.0.0-alpha2 of the constraint library which is obsolete

или вы можете нажать Alt + Enter, поместив курсор на строку ошибки

Я получил ограничение макета: 1.0.0-alpha8, когда я нажал Alt + Enter

компилировать 'Com.Android.support.constraint: ограничение-макет: 1.0.0-alpha8'

4
Darshn

добавить зависимости 

compile 'com.Android.support.constraint:constraint-layout:1.0.0-alpha9'

И создайте новый XML-файл макета -> перейдите на вкладку дизайна -> щелкните правой кнопкой мыши корневой макет и выберите последний параметр преобразовать LinearLayout в ConstraintLayout

Смотрите скриншот

 enter image description here

2
Arpit Patel

вы должны добавить репозиторий Google Maven в файл Gradle уровня модуля ( важная часть

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'
1
faraz khonsari

Понимание преимуществ производительности ConstraintLayout описывает стоимость традиционной иерархии макетов. Это дает пример этого макета, построенного с вложенными макетами

 Example view

и утверждает, что

ConstraintLayout работает примерно на 40% лучше в фазе измерения/макета, чем RelativeLayout

Этот проект Codelab показывает, как использовать ConstaintLayout для уменьшения иерархии View и выравнивания вышеупомянутого макета.

 Codelab Project

1
Eugene Brusov

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». Затем включите определенные выше атрибуты.

0
Logo

Google выпустил официальную версию 1.0 ConstraintLayout

теперь импортируйте не бета-версию

compile 'com.Android.support.constraint:constraint-layout:1.0.0'

Проверьте здесь info http://tools.Android.com/recent/constraintlayout10isnowavailable

0
Noorul

Измените зависимости в файле build.gradle

Вместо этого используйте компиляцию com.Android.support.constraint:constraint-layout:1.0.0-beta1.

0
HaiZhong chen