我在我的Android应用中使用了一个API,可以从网上下载图像,并在下载图像时显示占位符动画(RemoteImageView,Ignition包的一部分here。
在应用程序的某些位置,我需要显示本地资源绘图中的图像,而不是从网上下载。
是否可以使用URL访问本地资源drawable?
答案 0 :(得分:12)
做到这一点的方法:
使用此行"android.resource://[your package]/"+[res id]
这是一个例子
Uri myURI = Uri.parse("android.resource://com.example.project/" + R.drawable.myimage);
为方便起见,您可以将其用作方法:
public static Uri getUrl(int res){
return Uri.parse("android.resource://com.example.project/" + res);
}
警告不要使用context.getPackageName()
替代包名,因为它可能会返回空值。
答案 1 :(得分:6)
本地图片资源没有网址,他们有URI。因此,如果您有drawable中的图像,则可以将它们从资源ID解析为URI。
Uri uri=Uri.parse("R.drawable.image");
但是,如果您还可以将图像放在包的资产文件夹中,并使用其URL访问它们。图像文件的URL将是“file:///android_asset/image.png” 您可以使用任一选项。