I know that exists ability to install resource xml file from another package in code like this:
String resourceName = getResources().getResourceEntryName(layoutResID);
String resourceTypeName = getResources().getResourceTypeName(layoutResID);
Resources skinResources = getResourcesForPackage("com.my.skin");
int skinResourceId = skinResources.getIdentifier(resourceName, resourceTypeName, "com.my.skin");
mLayoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mLayoutInflater.inflate(skinResources.getXml(skinResourceId), null);
super.setContentView(mLayoutInflater.inflate(skinResources.getXml(skinResourceId), null));
But i would like to know how to make the same but in xml and for drawable resources:
For example: I have two applications:
- application main with package "com.my.main"
- and application skin with package "com.my.skin"
In android docs explained:
May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".
I have tried to specify something like this:
android:background="@com.my.skin:drawable:background_image"
or this:
android:background="?com.my.skin:drawable:background_image"
but it not work, my resource file not compiled.
Who know how to load resource using explicit specification.