您的位置:首页 > 移动开发 > Android开发

Android之通过资源名称获取资源Id

2016-06-02 10:15 507 查看
有的时候我们需要通过资源名称获取资源Id,这个其实比较简单,只是做了个简单的封装,记录一下。

/**
* 资源文件工具类
* @author Jenly
*/
public class ResourcesUtils {

private static final String RES_ID = "id";
private static final String RES_STRING = "string";
private static final String RES_DRABLE = "drable";
private static final String RES_LAYOUT = "layout";
private static final String RES_STYLE = "style";
private static final String RES_COLOR = "color";
private static final String RES_DIMEN = "dimen";
private static final String RES_ANIM = "anim";
private static final String RES_MENU = "menu";

/**
* 获取资源文件的id
* @param context
* @param resName
* @return
*/
public static int getId(Context context,String resName){
return getResId(context,resName,RES_ID);
}

/**
* 获取资源文件string的id
* @param context
* @param resName
* @return
*/
public static int getStringId(Context context,String resName){
return getResId(context,resName,RES_STRING);
}

/**
* 获取资源文件drable的id
* @param context
* @param resName
* @return
*/
public static int getDrableId(Context context,String resName){
return getResId(context,resName,RES_DRABLE);
}

/**
* 获取资源文件layout的id
* @param context
* @param resName
* @return
*/
public static int getLayoutId(Context context,String resName){
return getResId(context,resName,RES_LAYOUT);
}

/**
* 获取资源文件style的id
* @param context
* @param resName
* @return
*/
public static int getStyleId(Context context,String resName){
return getResId(context,resName,RES_STYLE);
}

/**
* 获取资源文件color的id
* @param context
* @param resName
* @return
*/
public static int getColorId(Context context,String resName){
return getResId(context,resName,RES_COLOR);
}

/**
* 获取资源文件dimen的id
* @param context
* @param resName
* @return
*/
public static int getDimenId(Context context,String resName){
return getResId(context,resName,RES_DIMEN);
}

/**
* 获取资源文件ainm的id
* @param context
* @param resName
* @return
*/
public static int getAnimId(Context context,String resName){
return getResId(context,resName,RES_ANIM);
}

/**
* 获取资源文件menu的id
*/
public static int getMenuId(Context context,String resName){
return getResId(context,resName,RES_MENU);
}

/**
* 获取资源文件ID
* @param context
* @param resName
* @param defType
* @return
*/
public static int getResId(Context context,String resName,String defType){
return context.getResources().getIdentifier(resName, defType, context.getPackageName());
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: