1:首先获取资源id
public static int getResourceId(Context context, String name, String type) {
String packageName = context.getPackageName();
Resources themeResources = null;
PackageManager pm = context.getPackageManager();
try {
themeResources = pm.getResourcesForApplication(packageName);
return themeResources.getIdentifier(name, type, packageName);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
return -1;
}
第一个参数为ID名,第二个为资源属性是ID/Drawable/string/xml,第三个为包名。
2:之后通过id,获取资源:
如:int resID = getResources().getIdentifier("imageName", "drawable","com.test.image");
Drawable image = getResources().getDrawable(resID);
或者xml中解析内容 或者 string
Resources resources = this.getPackageManager( ).getResourcesForApplication( packageName );
int resId = resources.getIdentifier( "updatelog", "xml", packageName );
String log = getUpdatelog( resId, resources );
int appId = resources.getIdentifier( "action_settings", "string", packageName );
String appName = resources.getString( appId );
mTextView.setText( appName + "\n" + log );