Как равномерно преобразовать макеты XML во всех приложениях Android?

Я изучаю внедрение кода для приложений Android (написанных на Java). Скажем, у меня есть набор ImageView, объявленный аналогично в отдельных файлах макета в ... / layout /:

<ImageView
    android:id = "@+id/imageView"
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"
    app:srcCompat = "@color/colorPrimary"
    tools:layout_editor_absoluteX = "70dp"
    tools:layout_editor_absoluteY = "38dp" />

Теперь предположим, что у меня есть следующий атрибут:

android:rotation = "180"

Моя цель - добавить этот атрибут к каждому отдельному ImageView в каждом XML-файле в каталоге макета во время выполнения, чтобы мне не приходилось редактировать исходный код этих XML-файлов. Как бы я это сделал?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
57
1

Ответы 1

Вы можете делать это динамически. Что вам нужно сделать, так это найти представление изображения для активности и вызвать метод вращения набора и указать угол, который вы указываете в файле xml. И второй способ сделать то же самое - вы можете настроить стиль для просмотра изображения в папке стилей проекта. Это будет очень простой и гораздо более эффективный способ сделать это. Чтобы добиться этого с помощью стиля, вы можете использовать приведенный ниже код.

 <style name = "TitleBarImage">
    <item name = "android:layout_width">wrap_content</item>
    <item name = "android:layout_height">wrap_content</item>
    <item name = "android:src">@drawable/lock</item>
    <item name = "android:rotation">180</item>
</style>

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

<ImageView style = "@style/TitleBarImage" />

Надеюсь, что это поможет вам.

Другие вопросы по теме