StateListDrawable drawable = new StateListDrawable(); drawable.addState(new int[]{ android.R.attr.state_checked },getResources().getDrawable(imageResouce[1])); drawable.addState(new int[]{},getResources().getDrawable(imageResouce[0])); radioButton.setButtonDrawable(drawable);其他类型的只需要将属性该一下即可。 注意!!!这里我遇到的一个坑是我用for循环创建的radiobutton,对StateListDrawable的创建和赋值放在for循环外面,想着复用一个,但是这样是有问题的,一定要放在for循环里面创建和赋值才有效。