示例代码:
imageView1.setImageResource(R.mipmap.ic_launcher);
示例代码:
imageView2.setImageDrawable(getResources().getDrawable(R.mipmap.ic_launcher));
示例代码:
imageView3.setImageBitmap(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
示例代码:
Android6.0(API23)以上才可以使用这个方法
imageView4.setImageIcon(Icon.createWithResource(this, R.mipmap.ic_launcher));
示例代码:
imageView5.setImageURI(Uri.fromFile(new File(sdPath)));
最简单的方法
R.mipmap.ic_launcher
两种方法:
/** * 已知获取图片名称获取图片的资源id的方法 * * @param imageName * @return resourceID */
public int getImageFromResourceByName(String imageName) {
Context context = getBaseContext();
int resId = getResources().getIdentifier(imageName, "mipmap", context.getPackageName());
return resId;
}
/** * 利用反射方法 * 已知图片名称获取图片的资源id的方法 * * @param imageName * @return resourceID */
public int getImageFromResourceByReflect(String imageName) {
Class drawable = R.mipmap.class;
Field field = null;
int r_id;
try {
field = drawable.getField(imageName);
r_id = field.getInt(field.getName());
} catch (Exception e) {
r_id = R.mipmap.ic_launcher;
Log.e("ERROR", "PICTURE NOT FOUND!");
}
return r_id;
}
/** * 从SD卡获取图片 * * @param imageName * @return Bitmap */
public Bitmap getImageFromSD(String imageName) {
return BitmapFactory.decodeFile(sdPath);
}
两种方法
/** * 从Assets目录下卡获取图片方法1 * * @param imageName * @return Bitmap */
public Bitmap getImageFromAssets(String imageName) {
AssetManager am = getAssets();
InputStream is = null;
try {
is = am.open("image/" + imageName);//得到图片流
} catch (IOException e) {
e.printStackTrace();
}
return BitmapFactory.decodeStream(is);
}
/** * 从Assets目录下卡获取图片方法2 * * @param imageName * @return Bitmap */
public Bitmap getImageFromAssets2(String imageName) {
InputStream is = getClass().getResourceAsStream("/assets/image/" + imageName);
return BitmapFactory.decodeStream(is);
}
/** * 从raw目录下获取图片方法 * * @return Bitmap */
public Bitmap getImageFromRaw() {
InputStream is = getResources().openRawResource(R.raw.yxs);
return BitmapFactory.decodeStream(is);
}
/** * 从网络上获取图片方法 * * @return Bitmap */
public Bitmap getImageFromInternet() {
String url = "http://pic.baike.soso.com/p/20130128/bki-20130128144516-1340884592.jpg";
InputStream is = null;
try {
is = new URL(url).openStream();
} catch (IOException e) {
e.printStackTrace();
}
return BitmapFactory.decodeStream(is);
}
调用
// 需要在线程中执行网络操作
new Thread() {
@Override
public void run() {
final Bitmap bitmap = getImageFromInternet();
imageView6.post(new Runnable() {
@Override
public void run() {
imageView6.setImageBitmap(bitmap);
}
});
}
}.start();
}
开发工具:Android Studio1.4
SDK: Android 6.0
API 23
代码下载:ShowImageView.zip