Изображения Nodpi против Android 1.5 - PullRequest
1 голос
/ 17 августа 2011

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

Так что вот в чем дело.Если я помещу изображение в drawable, Android 1.6+ считает, что это MDPI, и масштабируется соответственно.Если я помещаю изображение в drawable-nodpi, Android 1.6+ не масштабирует его, но Android 1.5 не может его найти.

Если я помещаю копию в обе папки, Android 1.6 предпочитает копию в drawable,и масштабирует его, как будто MDPI.И я не хочу отправлять две копии одного и того же файла, так что в любом случае это было последнее средство.

Можете ли вы придумать выход?Предпочтительно способ, который не включает две копии файла.

Ответы [ 4 ]

1 голос
/ 05 ноября 2012

Я предлагаю попробовать поместить изображения в две папки:

Рез \ вытяжка

Рез \ вытяжка-nodpi-v4

1 голос
/ 18 августа 2011

Вы можете сделать это, вероятно, через код. Поместите myimage.png в папку drawable и создайте файл myimage_nodpi.xml в папке drawable-nodpi.

В этот XML-файл вы положили:

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

Таким образом, вам не нужно будет копировать файл.

В коде вы можете проверить, равен ли уровень API 4, и загрузить версию nodpi, только если это так:

int version = Integer.parseInt(android.os.Build.VERSION.SDK);
if(version >= 4) {
  drawable = res.getDrawable(R.drawable.myimage_nodpi);
} else {
  drawable = res.getDrawable(R.drawable.myimage);
}

Отказ от ответственности: не проверено!

1 голос
/ 29 сентября 2011

У меня была такая же проблема с моим приложением.К счастью, есть реализация загрузчика растровых изображений , которая работает вокруг ошибки Android.Просто используйте UnscaledBitmapLoader.loadFromResource(getResources(), R.drawable.your_id, null).

0 голосов
/ 17 августа 2011

Неужели эта статья вам не подходит?

Похоже, вы можете обмануть свой компилятор, чтобы включить поддержку drawable-nodpi, но при этом все равно есть 1.5.

...