ImageView.setImageResource(int resId) —— 直接傳 R.drawable.xxx 最簡單。
| 方法 | 參數 | 適用場景 |
|---|---|---|
setImageResource | @DrawableRes int | 靜態資源 ID,最常用 |
setImageDrawable | Drawable | 已有 Drawable 對象(如從 Bitmap 創建) |
setImageBitmap | Bitmap | 動態生成/下載的圖片 |
setImageURI | Uri | Content Provider / 文件路徑 |
// 1. 從資源 ID 獲取 Drawable (API 21+ 需 Theme)
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.my_image);
imageView.setImageDrawable(drawable);
// 2. 從資源獲取 Bitmap
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image);
imageView.setImageBitmap(bitmap);
// 3. 從 assets/raw 讀取
InputStream is = getResources().openRawResource(R.raw.my_image);
Drawable drawable2 = Drawable.createFromStream(is, null);
imageView.setImageDrawable(drawable2);
Glide/Picasso 或 BitmapFactory.Options.inSampleSize。R.drawable.xxx 本質是 int,非 Drawable 對象。