Java 如何从Drawable接收链接?
我有这样一个函数:Java 如何从Drawable接收链接?,java,android,android-layout,Java,Android,Android Layout,我有这样一个函数: fromColorResAndUrl(@ColorRes int colorRes, String imageUrl) 现在我这样称呼它: fromColorResAndUrl(R.color.blue, "http://www.example.com/wallpaper.jpg"); 您可以使用外部图像链接看到它 我想使用本地图像链接。因此,我将'wallpaper.jpg'保存在res/drawable中 现在我想知道如何将其放入函
fromColorResAndUrl(@ColorRes int colorRes, String imageUrl)
现在我这样称呼它:
fromColorResAndUrl(R.color.blue,
"http://www.example.com/wallpaper.jpg");
您可以使用外部图像链接看到它
我想使用本地图像链接。因此,我将'wallpaper.jpg'
保存在res/drawable
中
现在我想知道如何将其放入函数中
我尝试
file:///android_asset/drawable/wallpaper.jpg
但没有成功 使用R.drawable.wallpaper
,如上所示
此外,如果您导入抽绳设备,建议针对每种手机尺寸对其进行缩放。我建议使用,它非常快速且易于使用。该
file:///android_asset/...
URL只能在assets
文件夹中找到资源,因此如果使用file:///android_asset/drawable/wallpaper.jpg
然后必须将wallpaper.jpg
放入资产/drawable/
文件夹中,这不是可提取项的默认位置 去掉URL字符串,这样您就只有文件名而没有扩展名
String fileName = "wallpaper"
然后获取int资源值:
int imgR = getResources().getIdentifier(fileName, "drawable", getPackageName());
然后使用:getResources().getDrawable(imgR)
获取图像。
作为ImageView的示例:
try {
yourImageView.setImageDrawable(getResources().getDrawable(imgR)
} catch (NotFoundException e) {
int defaultR = getResources().getIdentifier(yourfallbackimg, "drawable", getPackageName())
yourImageView.setImageDrawable(getResources().getDrawable(defaultR))
}
使用try-catch以防没有返回文件名,这样您将有一个默认映像,而不是崩溃
编辑
检查谢谢我尝试
String fileName=“wallpaper_51”;int imgR=getResources().getIdentifier(文件名为“drawable”,getPackageName());ImageView您的ImageView;String str=yourImageView.setImageDrawable(getResources().getDrawable(imgR))代码>但是我得到了一个无效的错误为什么你要写字符串str=ImageView.setImageDrawable?我知道这是错误的。我想获取图像的URL作为字符串,以便在该函数中使用。我想知道如何将其更改为string Now url或url的文件名?你应该已经有了url,因为你是设置它的人。对于文件名,仅使用filename变量。查看我更新的帖子链接