public static void setWidgetTheme(Context context, View view, String
resName){
String pkgName =
PreferenceManager.getDefaultSharedPreferences(context).getString(PREF_KEY_THEME_PACKAGE,
context.getPackageName());
Resources
themeResources = null;
try {
themeResources =
context.getPackageManager().getResourcesForApplication(pkgName);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
if(themeResources == null){
try {
pkgName =
context.getPackageName();
themeResources =
context.getPackageManager().getResourcesForApplication(pkgName);
saveThemePackageName(context, pkgName);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
}
if(themeResources == null){
return;
}
try {
int resource_id = themeResources.getIdentifier(resName,
"drawable",
pkgName);
if(resource_id != 0){
Drawable
drawable = themeResources.getDrawable(resource_id);
if(view != null){
view.setBackgroundDrawable(drawable);
}else{
Log.w(TAG, "View is null!
resName = " + resName);
}
}
} catch(Resources.NotFoundException e){
e.printStackTrace();
}
}
Android实现更换皮肤功能
猜你喜欢
转载自zhouxuebao87.iteye.com/blog/1639821
今日推荐
周排行