2010-07-28 7 views
0

У меня есть виджет с ImageView на нем. Я установил этот ImageView в растровое изображение, созданное из 9-патч-ресурса PNG. Изображение настроено правильно, но не растянуто правильно - то есть все изображение растянуто вместо части, как определено в моем 9-патч-PNG. Если я просто установил изображение с 9 патчами в качестве ресурса, он будет работать. Как я могу это исправить?9-patch растровое изображение на виджетах с использованием RemoteViews

// Does not work (9-patch does not display correctly) 
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.someNinePatch); 
remoteViews.setImageViewBitmap(R.id.someImageView, bitmap); 

// Works (9-patch displays correctly) 
remoteViews.setImageViewResource(R.id.someImageView, R.drawable.someNinePatch); 

ответ

1

Android знает PNG это девять патч в силу расширения .9.png файла на ресурсе. Я не знаю, как использовать изображения с девятью патчами за пределами ресурсов, потому что у Android не будет расширения файла, и он не будет знать, что это изображение с девятью патчами.

+0

У ресурса есть расширение .9.png, я просто использую его как растровое изображение. –

+1

@ Исаак Уолтер: но вы теряете расширение, загрузив его в объект «Bitmap». AFAIK, объект «Bitmap» не имеет понятия, исходит ли он из обычного PNG, PNG с девятью патчами, JPEG, GIF или что-то еще. – CommonsWare