【问题标题】:How to "Set Current Picasso Loaded Image as wallpaper"如何“将当前毕加索加载的图像设置为墙纸”
【发布时间】:2019-05-19 03:48:56
【问题描述】:

我正在研究毕加索并将图像加载到 ImageView 中。我应该在按钮代码上写什么以将其设置为 android 壁纸?

我已成功从可绘制文件夹中设置wallaper。

public class ViewPagerAdapter extends PagerAdapter {
    private Context context;
    private String[] imageUrls;

    ViewPagerAdapter(Context context, String[] imageUrls) {
        this.context = context;
        this.imageUrls = imageUrls;
    }

    @Override
    public int getCount()
    {
        return imageUrls.length;
    }

    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
        return view == object;
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        ImageView imageView = new ImageView(context);
        Picasso.get()
                .load(imageUrls[position])
                .fit()
                .centerCrop()
                .into(imageView);
        container.addView(imageView);

        return imageView;
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((View) object);
    }
}

【问题讨论】:

标签: android


【解决方案1】:

首先,您从 Picasso 获取位图图像,如下所示:

Bitmap mybitmap ;

Picasso.get().load(imageUrl).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
     mybitmap = bitmap;
}

@Override
public void onBitmapFailed(Drawable errorDrawable) { }

@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {}
});

或者你可以像这样从 Imageview 获取位图:

imageView.buildDrawingCache();
Bitmap mybitmap= imageView.getDrawingCache();

然后您可以使用 WallpaperManager 类设置壁纸。例如:

WallpaperManager wallpaperManager = WallpaperManager.getInstance(getApplicationContext());
wallpaperManager.setBitmap(mybitmap);

【讨论】:

  • 你应该把它写在你想要设置壁纸的地方,没关系imageview,你需要获取位图的url
  • 无法使用(上下文)解析方法。现在做什么
  • 我认为您使用的是另一个版本的毕加索库,您使用的是什么版本
  • 实现'com.squareup.picasso:picasso:2.71828'
  • 我正在尝试
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多