1. 程式人生 > >Android 根據從伺服器中獲取的rgb值實現動態改變圓角加框的Imageview 的背景色

Android 根據從伺服器中獲取的rgb值實現動態改變圓角加框的Imageview 的背景色


先上圖,效果圖如上。

本來考慮用facebook的SimpleDraweeView 來實現圓角加框的,但並非所有的圖片分支部分都可以實現圓角,目前只有佔位圖片和實際圖片可以實現圓角。

後來使用自定義的的控制元件RoundImageView來實現圓角加框,那麼問題來了。


這個控制元件只有在有實際的資源時才能顯示外框的。於是給控制元件設定一個透明的的shape.xml檔案資源,問題看似解決了,但設定的背景顏色還是正方形的。

在網上查詢解決方法時,從這個部落格獲得了幫助

http://blog.csdn.net/wangdong20/article/details/37966333


只要將自定義的控制元件的background設定成圓角的shape.xml 檔案,在需要改變該控制元件顏色時,再使用以下程式碼:

               holder.color_background.setImageResource(R.drawable.fade_resource_bg);
                GradientDrawable myGrad = (GradientDrawable)holder.color_background.getBackground();
                myGrad.setColor(Color.parseColor(descData.get(position).getRgb()));

這樣可以巧妙的根據獲取的rgb值來動態的生成相應顏色的Imageview了。