偶然遇到的一个问题 Android在4.4系统调用setButtonDrawable(null)无效,在网上查过后发现这个方法可以解决这个问题。代码如下:
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
try {
Field field = radioButton.getClass().getSuperclass().getDeclaredField("mButtonDrawable");
field.setAccessible(true);
field.set(radioButton, null);
} catch (Exception e) {
e.printStackTrace();
}
}
try {
Field field = radioButton.getClass().getSuperclass().getDeclaredField("mButtonDrawable");
field.setAccessible(true);
field.set(radioButton, null);
} catch (Exception e) {
e.printStackTrace();
}
}
但是我的新问题又出现了,原本我自己给Radiobutton写了一个样式,但是用上面的方法后由于我的Activity页面的主题样式是自定义的,导致radiobutton的button大小变得很大(我的button是Java代码动态new出来的),最后我找到了一个方法就是setButtonDrawable(getResources().getDrawable(android.R.color.transparent))把这个button设置成透明的,运行 OK。