RadioButton调用setButtonDrawable(null)无效

来源:互联网 发布:外文文献翻译软件 编辑:程序博客网 时间:2024/06/06 12:39
偶然遇到的一个问题 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();
    }
}
但是我的新问题又出现了,原本我自己给Radiobutton写了一个样式,但是用上面的方法后由于我的Activity页面的主题样式是自定义的,导致radiobutton的button大小变得很大(我的button是Java代码动态new出来的),最后我找到了一个方法就是setButtonDrawable(getResources().getDrawable(android.R.color.transparent))把这个button设置成透明的,运行 OK。