Я изучаю внедрение кода для приложений 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-файлов. Как бы я это сделал?




Вы можете делать это динамически. Что вам нужно сделать, так это найти представление изображения для активности и вызвать метод вращения набора и указать угол, который вы указываете в файле 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" />
Надеюсь, что это поможет вам.