繁体   English   中英

在Android应用程序中动态查找主题名称

[英]Dynamically find the theme name in Android application

我有一个平板电脑应用程序,我正在进行品牌重塑,因此有多个主题,基于用户的类型。

我想找到当前正在应用的主题的名称,然后基于该主题,我可以进行一些后端功能更改。

我必须动态设置一些图像资源,只要我传入正确的主题资源(R.style.redtheme)就可以了,但我想动态设置它。

TypedArray a = getTheme().obtainStyledAttributes(R.style.redtheme, new int[] {aTabResource.mDrawableAttrId});

为了做样式我正在创建自定义属性,然后在样式中覆盖它们。

如果没有简单的方法来获得主题,我将保存一个偏好。

包管理器可以访问相当多的元数据。

它可以像这样访问:

int theme = 0; //0==not set
try 
{
    String packageName = getClass().getPackage().getName();
    PackageInfo packageInfo = getPackageManager().getPackageInfo(packageName, PackageManager.GET_META_DATA);
    theme = packageInfo.applicationInfo.theme;
}
catch (Exception e) 
{ 
    e.printStackTrace();
}

运行后,主题将具有样式资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM