Установка Android-обоев с помощью кнопки с JSON выглядит размыто
В данный момент я делаю набор значков, и один из разделов моего приложения - выбор обоев. Приложение извлекает все изображения через файл json, описанный в моем strings.xml, и работает нормально, все изображения отображаются в приложении, но когда я выбираю обои, обои выглядят очень размытыми.
Ниже приведена часть кода WallpaperFragment.java. Надеюсь, кто-то может помочь мне найти проблему:)
public void applyImage () {
if (this.mImageDrawableSet == false) {
this.mApplyImageOnDisplay = true;
return;
}
try {
final Bitmap bitmap = getImageBitmap();
if (bitmap == null) {
Toast.makeText(getActivity(), "Something Went Wrong, Please Try Again!", Toast.LENGTH_SHORT).show();
return;
}
final WallpaperManager wpManager = WallpaperManager.getInstance(getActivity());
if (wpManager == null) {
Toast.makeText(getActivity(), "Something Went Wrong, Please Try Again!", Toast.LENGTH_SHORT).show();
return;
}
wpManager.setBitmap(bitmap);
Toast.makeText(getActivity(), "Wallpaper Set!", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Log.e(TAG, "", e);
Toast.makeText(getActivity(), "Something Went Wrong, Please Try Again!", Toast.LENGTH_SHORT).show();
}
}
public Bitmap getImageBitmap () {
try {
final Drawable drawable = this.mImageView.getDrawable();
if (drawable instanceof BitmapDrawable) {
return ((BitmapDrawable) drawable).getBitmap();
}
Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return bitmap;
} catch (Exception e) {
Log.e(TAG, "", e);
return null;
}
}
Вот пример того, как выглядит JSON с обоями:
{
"wallpapers": {
"category": [
{
"name": "SuperHeroes",
"wallpaper": [
{
"author": "Simon Tucker",
"url": "http://i.imgur.com/GD1xFTx.png",
"thumbUrl": "http://i.imgur.com/5R1WLWB.png",
"name": "Minimal Superman"
}
]
}
}