//change cate color
GradientDrawable cate_bg =(GradientDrawable)mActivityPermanentReportFilterStatusCate.getBackground();
cate_bg.setColor(getResources().getColor(R.color.color_apple_green));
注:该方法改变的是shape的颜色,所以有其他地方用到相同的shapeDrawable的话,应该重新设置颜色.即每次使用该shape都应该重新设置需要的颜色.
参考链接:http://stackoverflow.com/questions/16775891/how-to-change-solid-color-from-the-code