Проблемы с редактором макетов в Android Studio 2.2.1 с использованием компоновки ограничений

#android #android-layout #android-databinding #android-studio-2.2 #android-constraintlayout

#Android #android-layout #android-привязка данных #android-studio-2.2 #android-constraintlayout

Вопрос:

У меня возникли проблемы с редактором макетов Android Studio после обновления до Android Studio 2.2.1 (со стабильного канала). Редактор иногда скрывает элементы управления «компоновкой ограничений» из пользовательского интерфейса, как показано на скриншотах ниже:

Скриншот

Я использую компоновку ограничений alpha 9 и привязку данных, поэтому макет заключен в тег «layout». Вот код для примера компоновки:

 <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>
        <variable
            name="viewModel"
            type="my.package.name.DashboardViewModel"/>
    </data>

    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </android.support.constraint.ConstraintLayout>
</layout>
  

Элементы управления исчезают и появляются, когда я добавляю / удаляю элементы из макета. Это ошибка в новой компоновке Android Studio или компоновке ограничений? Или я делаю что-то не так?

Ответ №1:

Давайте назовем это ошибкой 🙂

(Я только что отправил его сюда: https://code.google.com/p/android/issues/detail?id=224973 )

Происходит то, что мы показываем только те элементы управления, которые могут применяться к текущему выбору или корню, если они не выбраны. Из-за тега layout корень не является a ConstraintLayout , поэтому мы не показываем элементы управления, пока вы не выберете элемент. С этой проблемой вы также столкнетесь, если вы встроите CL в другой макет, но, по крайней мере, в случае привязки данных мы, вероятно, должны вести себя так, как если бы root был элементом CL.

Спасибо, мы постараемся исправить это как можно скорее.

Ответ №2:

Обновить

Решаемая в Android Studio 2.3 beta 1.