Вопрос по android – Ресурсы для drawable-xlarge-mdpi и drawable-sw600dp-mdpi без дублирования

6

Я хочу предоставить одинаковые ресурсы изображений / drawables для drawable-xlarge-mdpi и drawable-sw600dp-mdpi.

Кажется, единственный способ сделать это - создать две папки в папке res / и скопировать один и тот же набор ресурсов в каждую папку.

С макетами мы можем сделать алиасинг. То есть Создание файла с именем layout.xml в папке значений с определенными квалификаторами и добавление элементов, указывающих на один файл макета для обоих классификаторов:

values-xlarge\values.xml values-sw600dp\values.xml

Содержимое обоих файлов будет примерно таким:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="activity_shows" type="layout">@layout/activity_shows_tablet</item>
</resources>

(Устройства, соответствующие xlarge, или устройства, соответствующие sw600dp, теперь будут использовать activity_shows_tablet.xml в качестве файла макета для & quot; activity_shows & quot;)

Есть ли подобный подход для рисования?

Ваш Ответ

1   ответ
13

Он должен работать точно так же, как и для макетов.

положилpng ресурсы в папку по умолчанию

res/drawable/largescreen.png
res/drawable/smallscreen.png

Создайте.xml ресурсы, которые относятся кpngs

res/drawable/image.xml
res/drawable-xlarge-mdpi/image.xml
res/drawable-sw600dp-mdpi/image.xml

гдеimage.xml это что-то вроде (документация)

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/largescreen" />

а затем использовать ресурс XML, как вы бы использовали png напрямую

<ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/image" />

Похожие вопросы