Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

От Docs

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

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

Нажмите "Сервис" > "Android" > "Менеджер SDK". Откройте вкладку "Инструменты SDK". Выберите "Репозиторий поддержки Android", затем нажмите "ОК".

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

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

В панели инструментов или уведомлении синхронизации нажмите "Синхронизировать проект" с Gradle "Файлы".

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

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

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

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

Ответ 3

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

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

Ответ 4

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

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

с использованием версии 1.0.0-alpha2 библиотеки ограничений, которая устарела

или вы можете нажать alt + enter, помещая курсор на строку с ошибкой

Я получил ограничение-layout: 1.0.0-alpha8, когда я нажал alt + enter

компиляции 'Com.android.support.constraint: ограничение-макет: 1.0.0-alpha8'

Ответ 5

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

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

И создайте новый макет xml файла перейдите на вкладку дизайна , щелкните правой кнопкой мыши свой корневой макет и выберите последнюю опцию конвертировать LinearLayout в ConstraintLayout strong >

См. снимок экрана

введите описание изображения здесь

Ответ 6

вам следует добавить репозиторий 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'

Ответ 7

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

Примерный вид

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

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

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

Codelab Project

Ответ 8

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

Ответ 9

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

Вместо этого используйте compile com.android.support.constraint:constraint-layout:1.0.0-beta1.

Ответ 10

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

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

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

Отметьте здесь информацию http://tools.android.com/recent/constraintlayout10isnowavailable