Как я могу получить идентификатор родителя темы из идентификатора темы? - PullRequest
0 голосов
/ 09 марта 2020

В следующем коде я получаю идентификатор / имя темы для приложения. Есть ли способ затем использовать это, чтобы получить родительский стиль?

val context = [ApplicationContext].getContext()
val packageName = context.packageName
val packageInfo = context.packageManager.getPackageInfo(packageName, PackageManager.GET_META_DATA)
val theme = packageInfo.applicationInfo.theme

val themeResourceEntryName = context.resources.getResourceEntryName(theme)

Чтобы уточнить, мое имя темы может быть "someTheme", но меня интересует, что расширяется - AppCompat или MaterialComponents, и др c.

1 Ответ

0 голосов
/ 09 марта 2020

Вы можете получить родительский класс темы, используя

Theme myThemeParent = appContext.getTheme().getClass().getSuperclass();

Код находится в java, но я думаю, у вас не будет проблем переписать его в kotlin

...