我有这样的功能:
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
但没有成功!
答案 0 :(得分:0)
使用R.drawable.wallpaper
,如Drawable Resources on Android Developers
此外,如果您导入drawables,建议您为每个手机大小缩放它们。我建议使用android-drawable-importer-intellij-plugin,它非常快速且易于使用。
答案 1 :(得分:0)
file:///android_asset/...
网址只能找到assets
文件夹中的资源,因此如果您使用file:///android_asset/drawable/wallpaper.jpg
,则必须将wallpaper.jpg
放在assets/drawable/
文件夹中,这不是drawables的默认位置。
答案 2 :(得分:0)
删除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,这样您就可以使用默认图像而不是崩溃。
修改强>