Я использую 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
добавляется. Я мог бы игнорировать это, но все же - не то, что я хотел бы сделать.