Программный доступ к темам / стилям / атрибутам в Android

Я хотел бы получить доступ к сложным ресурсам («пакетным ресурсам»), скомпилированным в мой apk. Например, получение всех атрибутов текущей темы, желательно в виде xml, который я могу просмотреть.

Доступ к темам / стилям можно получить с помощью метода receiveStyledAttributes (), но для этого необходимо заранее знать атрибуты. Есть ли способ получить список атрибутов, существующих в стиле?

Например, в такой теме:

<style name="BrowserTheme" parent="@android:Theme.Black">
    <item name="android:windowBackground">@color/white</item>
    <item name="android:colorBackground">#FFFFFFFF</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

как я могу получить доступ к элементам, не зная заранее их имен?

Другой пример будет attrs.xml, где некоторые атрибуты имеют перечисления или флаги, например:

<attr name="configChanges">
    <flag name="mcc" value="0x00000001" />
    <flag name="mnc" value="0x00000002" />
    ...
</attr>

Как приложение может получить эти флаги, не зная их имени?

6
задан Cœur 24 December 2018 в 08:28
поделиться