java - 如何从字符串列表/网址设置为墙纸
问题描述
大家好,我正在创建一个壁纸应用程序,我正在从 Firebase 数据库中获取所有字符串格式的图像。
现在我坚持设置为墙纸,因为图像是 Url 格式,并且 wallpaperManager.setResource(int) 仅支持 int 格式。
我也尝试将 Url 转换为 Bitmap,但它也不适合我。
fabSetWallpaper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String urldisplay = list.get(position).getImageURL();
Bitmap bmp = null;
try {
URL ulrn = new URL(urldisplay);
HttpURLConnection con = (HttpURLConnection) ulrn
.openConnection();
InputStream is = con.getInputStream();
bmp = BitmapFactory.decodeStream(is);
int widthPx = getWindowManager().getDefaultDisplay()
.getWidth();
int heightPx = getWindowManager().getDefaultDisplay()
.getHeight();
bmp = Bitmap.createScaledBitmap(bmp, widthPx, heightPx,
true);
} catch (Exception ex) {
}
WallpaperManager myWallpaperManager = WallpaperManager
.getInstance(getApplicationContext());
try {
myWallpaperManager
.setBitmap(bmp);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Toast.makeText(SecondTest2Activity.this, "Wallpaper Successfully Set On Screen ", Toast.LENGTH_LONG).show();
}
});
我已经尝试了上面的代码但没有工作....可能这个问题将与某人重复但我在网上搜索了很多但没有找到任何解决方案
我找到了解决方案
String url = list.get(position).getImageURL();
ImageView img=new ImageView(SecondTest2Activity.this);
Picasso.get().load(url).into(img);
Bitmap bitmapImg = ((BitmapDrawable) img.getDrawable()).getBitmap();
WallpaperManager myWallpaperManager = WallpaperManager
.getInstance(getApplicationContext());
try {
myWallpaperManager
.setBitmap(bitmapImg);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
解决方案
我能想到的最简单的方法是使用Glide for Android,你可以将它传递给String 类型的load()
方法。url
如果您有一个Url
对象列表,则只需获取该对象的字符串表示形式并使用以下代码行:
GlideApp
.with(myFragment)
.load(url)
.centerCrop()
.into(yourImageView);
推荐阅读
- django - Django缓存模板加载器:从缓存中排除模板,或清除缓存而不重启
- git - 为什么命令“git fetch -p”会同时带来与删除和新分支相同的分支?
- android - 如何在后台运行计时器以更新视图模型中的标签
- twilio - Twilio Autopilot - 我如何从 Whatsapp 接收图像?
- c++ - 如何在循环中仅打印一次消息
- ios - 苹果应该通过视图传递@ObjectBinding 是什么意思?
- javascript - 你能在 CSS 和 JavaScript 中动态改变 flexbox 的 flex-direction 吗?
- subset - “regsubsets”中“最佳”模型的选择标准是什么?如何访问多个“最佳”模型?
- javascript - 材质 ui 表未更新
- python - 如何在python中生成一系列数字作为文本