Android 根據從伺服器中獲取的rgb值實現動態改變圓角加框的Imageview 的背景色
阿新 • • 發佈:2018-11-14
先上圖,效果圖如上。
本來考慮用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了。