Android TextView 加上四個邊 Drawable 圖片


Android 中若想要在 TextView 四個邊顯示圖片,

除了使用 4 個 ImageView 之外,

還有一種利用 TextView 內的 setCompoundDrawablesWithIntrinsicBounds method 來實現,

範例, 參考如下 :
 程式碼
TextView tv = new TextView(this);

// 設定 Text 文字
tv.setText("TextView 四邊圖片");

// 調整某個圖示大小
Bitmap b = BitmapFactory.decodeResource( getResources(), R.drawable.movie );
b = Bitmap.createScaledBitmap( b, 128, 128, true );

// 設定 Text 文字四個邊的 Image Icon
tv.setCompoundDrawablesWithIntrinsicBounds( new BitmapDrawable(b) // 文字左圖
                                          , null  // 文字上圖 (無圖)
                                          , getResources().getDrawable(R.drawable.pencil) // 文字右圖
                                          , null  // 文字下圖 (無圖)
                                          );

// 設定 Image Icon 與 Text 文字之間的距離為 10dp
int dp = (int) (10 * getResources().getDisplayMetrics().density + 0.5f);
tv.setCompoundDrawablePadding(dp);

範例結果 :

Related Posts Plugin for WordPress, Blogger...