Странное поведение атрибутов ConstraintLayout при ограничении 2 просмотров

#android #android-constraintlayout

#Android #android-constraintlayout

Вопрос:

Допустим, я хочу подключить одно представление к другому с помощью app:layout_constraintTop_toTopOf (это может быть любое другое ограничение).

Если я сделаю это вручную с помощью XML-дисплея, это будет что-то вроде этого:

  app:layout_constraintTop_toTopOf="@id/something"
  

Но — Если я сделаю то же самое с параметром design, а не с параметром XML, я по какой-то причине получу дополнительный (автоматически сгенерированный) символ, и это будет выглядеть так :

   //notice the extra   in @ id
  app:layout_constraintTop_toTopOf="@ id/something"`
  

Теперь самое смешное, что приложение будет запускаться с символом или без него.

Итак, похоже, что мне действительно не нужен этот дополнительный символ , ссылаясь на другие представления, мой вопрос заключается в том, почему это происходит и как я могу запретить редактору макетов Android Studio добавлять это .

Ответ №1:

Идентификатор необходим только при первом упоминании идентификатора в xml.

Все еще может быть полезно иметь каждый раз, если вы захотите изменить порядок xml в будущем.

Я бы не слишком беспокоился об этом. Выполнение id, вероятно, приводит к чрезвычайно низкому снижению производительности во время сборки. (Посмотрите, сможете ли вы измерить разницу. Я сомневаюсь, что вы сможете.)