Установка 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"
        }
      ]
    }
 }

1 ответ

Может быть, вы получаете thumbUrl вместо URL?

Другие вопросы по тегам