Создание плотности устройства, независимой от BitmapDrawable из файла - PullRequest
1 голос
/ 23 августа 2011

Я получаю растровое изображение из файла (кэшированного из Интернета), и мне не хватает жесткого кодирования плотности устройства. Я не могу нарисовать его с правильным размером.

Я использую изображение в качестве значка меню, поэтому я не могу установить тип шкалы, насколько мне известно.

Я попробовал это и ничего не получил:

BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inScaled = true; //tried false too
opt.inDensity = 240;
opt.inTargetDensity = 240; //both tried at various settings
Bitmap bitmap = BitmapFactory.decodeFile(imageFile.toString(), opt);
BitmapDrawable icon = new BitmapDrawable(bitmap);

Мне повезло больше:

icon.setTargetDensity((int) (100 * metrics.density)); //Also tried at various settings

но если я не закодирую фактическое DPI устройства, я не смогу получить хорошие результаты.

...