TypeValue的getValue返回COMPLEX_RADIX_0p23而不是引用

时间:2018-12-23 07:16:15

标签: android typedreference

我正在使用此代码来更改视图的背景,无论它是彩色还是可绘制的。

static void backgroundChangerCompat(Resources resources, int rId, View view) {
        TypedValue value = new TypedValue();
        resources.getValue(rId,value,true);
        if(value.type >= TypedValue.TYPE_FIRST_COLOR_INT && value.type <= TypedValue.TYPE_LAST_COLOR_INT) {
            view.setBackgroundColor(ResourcesCompat.getColor(resources,rId,null));
        }
        else if(value.type == TypedValue.TYPE_REFERENCE) {
            view.setBackground(ResourcesCompat.getDrawable(resources,rId,null));
        }
    }

如果我为其提供了参考,即可绘制的xml,则value解析为{x1}},即0x3。为什么会这样?

0 个答案:

没有答案