Android加载R文件资源的工具类

public class Res {

    // 文件路径名
    private static String pkgName;
    // R文件的对象
    private static Resources resources;

    // 初始化文件夹路径和R资源
    public static void init(Context context) {
        pkgName = context.getPackageName();
        resources = context.getResources();
    }

    /**
     * layout文件夹下的xml文件id获取
     * 
     */
    public static int getLayoutID(String layoutName) {
        return resources.getIdentifier(layoutName, "layout", pkgName);
    }

    // 获取到控件的ID
    public static int getWidgetID(String widgetName) {
        return resources.getIdentifier(widgetName, "id", pkgName);
    }

    /**
     * anim文件夹下的xml文件id获取
     * 
     */
    public static int getAnimID(String animName) {
        return resources.getIdentifier(animName, "anim", pkgName);
    }

    /**
     * xml文件夹下id获取
     * 
     */
    public static int getXmlID(String xmlName) {
        return resources.getIdentifier(xmlName, "xml", pkgName);
    }

    // 获取xml文件
    public static XmlResourceParser getXml(String xmlName) {
        int xmlId = getXmlID(xmlName);
        return (XmlResourceParser) resources.getXml(xmlId);
    }

    /**
     * raw文件夹下id获取
     * 
     */
    public static int getRawID(String rawName) {
        return resources.getIdentifier(rawName, "raw", pkgName);
    }

    /**
     * drawable文件夹下文件的id
     * 
     */
    public static int getDrawableID(String drawName) {
        return resources.getIdentifier(drawName, "drawable", pkgName);
    }

    // 获取到Drawable文件
    public static Drawable getDrawable(String drawName) {
        int drawId = getDrawableID(drawName);
        return resources.getDrawable(drawId);
    }

    /**
     * value文件夹
     * 
     */
    // 获取到value文件夹下的attr.xml里的元素的id
    public static int getAttrID(String attrName) {
        return resources.getIdentifier(attrName, "attr", pkgName);
    }

    // 获取到dimen.xml文件里的元素的id
    public static int getDimenID(String dimenName) {
        return resources.getIdentifier(dimenName, "dimen", pkgName);
    }

    // 获取到color.xml文件里的元素的id
    public static int getColorID(String colorName) {
        return resources.getIdentifier(colorName, "color", pkgName);
    }

    // 获取到color.xml文件里的元素的id
    public static int getColor(String colorName) {
        return resources.getColor(getColorID(colorName));
    }

    // 获取到style.xml文件里的元素id
    public static int getStyleID(String styleName) {
        return resources.getIdentifier(styleName, "style", pkgName);
    }

    // 获取到String.xml文件里的元素id
    public static int getStringID(String strName) {
        return resources.getIdentifier(strName, "string", pkgName);
    }

    // 获取到String.xml文件里的元素
    public static String getString(String strName) {
        int strId = getStringID(strName);
        return resources.getString(strId);
    }

    // 获取color.xml文件里的integer-array元素
    public static int[] getInteger(String strName) {
        return resources.getIntArray(resources.getIdentifier(strName, "array",
                pkgName));
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值