Вы можете определить свои атрибуты в стилях следующим образом:
<style name="MyStyle">
<item name="layout_constraintLeft_toLeftOf">parent</item>
<item name="layout_constraintRight_toRightOf">parent</item>
</style>
Затем вы можете указать style="@style/MyStyle"
для каждого TextView
.
Установка стиля на ConstraintLayout
не установит стиль на дочерних элементах ConstraintLayout
, если вы не установите стиль в качестве темы. См. «Применение стиля в качестве темы» . (Акцент мой.)
Начиная с Android 5.0 (уровень API 21) и библиотеки поддержки Android v22.1, вы также можете указать атрибут android: theme для представления в файле макета. Это изменяет тему для этого представления и любых дочерних представлений , что полезно для изменения цветовых палитр темы в определенной части вашего интерфейса.
Таким образом, вы бы добавили android:theme="@style/MyStyle"
к ConstraintLayout
. Это заменит существующую тему, поэтому вы можете установить AppTheme
в качестве родителя MyStyle
.
Есть один странный побочный эффект, который я заметил при этом: ограничения, названные в стиле, влияют на отображение макета в дизайнере студии (правильно), но сами ограничения не отображаются. Редактор макета также не поймет, что ограничения определены в стиле, и выдаст ошибки «отсутствует ограничение». (Android Studio 3.3 RC3)