Я использую android.support.constraint.ConstraintLayout для компоновки простых представлений содержимого карты.
Я получаю случайные изменения в моем XML, каждый раз, когда:
- Я перехожу к редактору макетов Android Studio
Design - Или когда у меня включена панель
Preview(в этом случае изменения происходят еще чаще во время моих изменений).
Эти случайные изменения включают:
- Удаление моих вручную заданных полей макета (например,
layout_marginEnd) - Изменение значений моего введенного вручную значения поля
- Добавление значений
tools:layout_editor_absoluteX
Вопросы:
- Кто-нибудь еще испытывает эту функцию Android Studio?
- Как отключить эту функцию, поэтому мои макеты не будут уничтожены?
- Где сообщить об этой ошибке Google или JetBrains?
Обратите внимание на этот файл diff, который был сделан автоматически при переключении на вкладку "Дизайн":

PS: Моя версия Android Studio 2.2.3; Я запускаю его на macOS Sierra.
Обновление # 1
Как было предложено, после создания layout_height="match_parent", я получаю изменения реже, но все же мой XML становится испорченным, когда я редактирую макет в Layout Design'er:
На этот раз я хотел установить layout_marginTop через интерфейс проектирования (выбранная строка - это то, что я хотел добавить), но я также получил эти другие нежелательные изменения:
-
layout_marginStartудален; -
app:layout_constraintBottom_toBottomOfссылочные идентификаторы получили префикс знака "+", что означает, что эти идентификаторы объявлены вновь, поэтому, когда я буду использовать функциональностьGoto declaration, мне нужно будет выбрать его из списка - не желаемое поведение. -
tools:layout_editor_absoluteXдобавляется. Я мог бы игнорировать это, но все же - не то, что я хотел бы сделать.