根据服务器返回的颜色值来动态改变界面的效果:
Android里面经常会使用shape来定制一些View的背景
可以修改View的背景颜色,形状等属性
- View.setBackgroundColor(color);
- View.setBackgroundDrawable(R.drawable.shape);
不能实现我想要的需求,每设置一次Background,Background色就会被替换掉
最后上网Google了下,找到解决方案了http://stackoverflow.com/questions/16775891/how-to-change-solid-color-from-the-code
- GradientDrawable myGrad = (GradientDrawable)view.getBackground();
- myGrad.setColor(color);
实例代码:
holder.rlRoot.setBackgroundResource(R.drawable.shape_special); // 圆角矩形 GradientDrawable myGrad = (GradientDrawable)holder.rlRoot.getBackground(); myGrad.setColor(Color.parseColor(String.valueOf(map.get("color"))));