有的時候我們需要通過資源名稱擷取資源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());
}
}