Java 如何从字符串列表/Url设置为墙纸
大家好,我正在创建一个墙纸应用程序,从Firebase数据库中获取字符串格式的所有图像 现在我被设置为壁纸,因为图像是Url格式的,WallperManager.setResource(int)只支持int格式 我也曾尝试将Url转换为位图,但它也不适合我Java 如何从字符串列表/Url设置为墙纸,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,大家好,我正在创建一个墙纸应用程序,从Firebase数据库中获取字符串格式的所有图像 现在我被设置为壁纸,因为图像是Url格式的,WallperManager.setResource(int)只支持int格式 我也曾尝试将Url转换为位图,但它也不适合我 fabSetWallpaper.setOnClickListener(new View.OnClickListener() { @Override public void onC
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();
}
});
我已经尝试了上面的代码,但没有工作…可能这个问题将重复的人,但我已经在网上搜索了很多,但没有找到任何解决方案
我找到了解决办法
我能想到的最简单的方法是在Android上使用
load()
方法传递url
,它应该是字符串类型。如果您有一个Url
对象列表,那么只需获取该对象的字符串表示形式并使用以下代码行即可:
GlideApp
.with(myFragment)
.load(url)
.centerCrop()
.into(yourImageView);
为什么设置位图不适合你?不客气!在这种情况下,请考虑通过点击投票箭头上的复选标记接受我的答案,应该改变绿色中的颜色。谢谢
GlideApp
.with(myFragment)
.load(url)
.centerCrop()
.into(yourImageView);