在范围之外的运行时获取材料设计颜色

时间:2016-03-05 18:42:23

标签: android

我正在尝试将自定义视图外包到自己的库中。

是否可以在范围之外获取colorPrimary,colorPrimaryDark和colorAccent属性,可能是在运行时?

解决方案
我自己指出了。

在xml中使用:

?attr/attributeName

f.e。

?attr/colorAccent

在代码中使用......如:

public int getColorValueByAttr(Context context, int attrResId) {
    int color = 0;

    TypedArray a = null;
    try {
        int[] attrs = {attrResId};
        a = context.obtainStyledAttributes(attrs);
        color = a.getColor(0, 0);
    } finally {
        if (a != null) {
            a.recycle();
        }
    }

    return color;
}

0 个答案:

没有答案