У меня проблема с загрузкой девяти патч-изображений из url в виде фонового изображения.Android Picasso с девятью патчами с url
Я могу загрузить девять патч-изображений из ресурсов, которые отлично работают.
Я поставил цель для Пикассо следующим образом:
view.setTag(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, LoadedFrom from) {
Log.d("LOG", bitmap.getWidth() + " " + bitmap.getHeight());
BitmapDrawable bitmapDrawable = new BitmapDrawable(activity.getResources(), bitmap);
byte[] ninePatchChunk = bitmap.getNinePatchChunk();
if (NinePatch.isNinePatchChunk(ninePatchChunk)) {
view.setBackground(new NinePatchDrawable(activity.getResources(), bitmap, ninePatchChunk, new Rect(), null));
} else {
view.setBackground(bitmapDrawable);
}
}
}
Эта функция (загрузка изображения из активов) работает отлично:
Picasso.with(activity)
.load(R.drawable.nine_patch_button)
.into(view.getTag()); //view.getTag() is the target
Но мне нужно, чтобы загрузить фоновое изображение из интернета.
Picasso.with(activity)
.load(uri_to_nine_patch_button)
.into(view.getTag()); //view.getTag() is the target
Во втором случае изображение растянуто и не отображается как изображение с девятью патчами. Когда я загружаю изображение из URI, выход журнала всегда будет таким же (41, 28), но когда я загружаю изображение из активов, выход журнала отличается от устройства к устройству (108, 75 и 38, 27).
В первом случае с таким же выходом bitmap.getNinePatchChunk() имеет значение NULL, изображение растянуто, ничего не работает.
Любые идеи для решения?
С наилучшими пожеланиями