<ImageView
android:id="@+id/img_face"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="matrix"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="8dp"
android:padding="8dp"
android:src="@drawable/face"
/>
try{
//查找imgview控件
ImageView v=(ImageView)thisfindViewById(Ridimg_face);
// 动态修改imageview 背景, android:src 设置backgroundRes 也可以。
vsetImageResource( Rdrawableface1 );
}catch(Exception e){
eprintStackTrace();
}
类:
class Image implements Serializable{
private String url;
private Bitmap bitmap;
}
传递:
Image image = new Image();
imageseturl(url);
imagesetbitmap(bitmap);
intentputExtra("image", image);
获取
Image image = intentgetSerializableExtra("image");
String url = imagegeturl();
Bitmap bitmap =imagegetbitmap();
方法/步骤
1
如下图所示,需要根据URL地址获取加载到图中Anroid机器人所在的位置,这是运行前的效果:
2
首先需根据URL地址获取,如下所示,urladdr即为地址,返回Drawable对象:
//download image from network using @urladdress
private Drawable loadImageFromNetwork(String urladdr) {
// TODO Auto-generated method stub
Drawable drawable = null;
try{
//judge if has picture locate or not according to filename
drawable = DrawablecreateFromStream(new URL(urladdr)openStream(), "imagejpg");
}catch(IOException e){
Logd("test",egetMessage());
}
if(drawable == null){
Logd("test","null drawable");
}else{
Logd("test","not null drawable");
}
return drawable;
}
3
获取到后,需要更新主线程UI资源,考虑到时间以及界面反应延迟等,所以采用线程加以处理,如下图所示:
// image
new Thread(new Runnable(){
Drawable drawable = loadImageFromNetwork(urladdress);
@Override
public void run(){
//post() is quite important,update pictures in UI main thread
imagepost(new Runnable(){
@Override
public void run(){
//TODO Auto-generated method stub
imagesetImageDrawable(drawable);
}
});
}
//download image from network using @urladdress
private Drawable loadImageFromNetwork(String urladdr) {
// 略(如 1 中所示)
}
})start(); //线程启动
4
说明:在上述示例代码中,image是ImageView类的一个对象,也就是APP中的一个显示图像组件,利用获取到的drawable去更新image,运行效果如下所示:
路径:假设 res/drawable下有 testjpg文件
Bitmap bitmap=BitmapFactorydecodeResource(thisgetContext()getResources(), Rdrawabletest)
三种方式:
现总结以下几种读取Bitmap的方法:
以文件流的方式,假设在sdcard下有 testpng
FileInputStream fis = new FileInputStream("/sdcard/testpng");
Bitmap bitmap = BitmapFactorydecodeStream(fis);
以R文件的方式,假设 res/drawable下有 testjpg文件
Bitmap bitmap = BitmapFactorydecodeResource(thisgetContext()getResources(), Rdrawabletest);
以ResourceStream的方式,但不用到R文件
Bitmapbitmap=BitmapFactorydecodeStream(getClassgetResourceAsStream(“/res/drawable/testpng”)
以上就是关于怎么使用代码获取android中图片资源名称全部的内容,包括:怎么使用代码获取android中图片资源名称、Android 两个Activity之间怎样使用Uri传递图片,怎样获取图片的Uri,怎样通过Uri得到图片、android中怎么跳转到相册获取照片并得到url等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)