我在我的应用程序中使用Picasso,当用户点击它时,我设法在全屏视图中打开图像。现在我想要一个覆盖图像的按钮,并将图像设置为壁纸。 所有图像都从URL加载并存储在远程服务器中。
我不知道如何实现这一点,因为我是一名初学者。有人能帮助我吗?
感谢。
答案 0 :(得分:0)
使用此代码在onclicklistener按钮上将图片设置为墙纸
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
WallpaperManager wpm = WallpaperManager.getInstance(getApplicationContext());
wpm.suggestDesiredDimensions(width, height);
InputStream ins = null;
try {
ins = new URL(Imageurl).openStream();
wpm.setStream(ins);
Toast.makeText(ImageViewerActivity.this, "successfully set", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
答案 1 :(得分:-1)
改为使用ImageLoader:
DisplayImageOptions options = new DisplayImageOptions.Builder()
.bitmapConfig(Bitmap.Config.ALPHA_8)
.imageScaleType(ImageScaleType.IN_SAMPLE_INT).build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
ISolaceContext.getAppContext())
.discCacheExtraOptions(20, 20, CompressFormat.JPEG, 100, null)
.defaultDisplayImageOptions(Media.options).build();
ImageLoader.getInstance().init(config);
ImageLoader loader = ImageLoader.getInstance();
loader.loadImage(url, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view,
Bitmap loadedImage) {
// Now you have the image in your hands as a Bitmap(called: loadedImage) and Now you can do whatever you want with it
stream.close();
stream = null;
}
});
loader.clearDiscCache();
loader.clearMemoryCache();
现在,您可以使用以前生成的位图作为背景。converting bitmap to drawable。