解析Android资源id
解析资源
提取资源id中的字段
resId:
1 | R.drawable.xxxx |
提取drawable、string、color、dimen等
1
2
3
4
5
6public String getResourceTypeName(int resId)
{
Resources resources = mView.getResources();
String attrTypeName = resources.getResourceTypeName(resId);
retuen attrTypeName;
}提取xxxx资源名
1
2
3
4
5
6public String getResourceEntryName(int resId)
{
Resources resources = mView.getResources();
String attrEntryName = resources.getResourceEntryName(resId);
retuen attrEntryName;
}提取资源中的包名
1
2
3
4
5
6public String getResourcePackageName(int resId)
{
Resources resources = mView.getResources();
String packageName = resources.getResourcePackageName(resId);
retuen packageName;
}提取资源中的包名+资源
1
2
3
4
5
6public String getResourceName(int resId)
{
Resources resources = mView.getResources();
String resourceName = resources.getResourceName(resId);
return resourceName;
}
组装资源
已知资源的PackageName、TypeName、EntryName,读取资源Id,通过该方式可判断资源是否存在。
1 | /** |
推广
Android应用中换肤可参考该方式:AndroidSkinLoader