Ответ 1
короткий ответ: не работает
создать тему и задать в качестве темы приложения (даже если мы достигли создания объекта Theme
) без идентификатора ресурса темы.
Детали:
когда вы вызываете setTheme
, функция неэффектирует метод ContextWrapper
,
который в конце вызывает AssetManager
с указателем идентификатора ресурса, класс AssetManager
содержит метод применения темы приложения, который является вызовом JNI
native static final void applyThemeStyle(long theme, int res, boolean force);
Как и выше, мы можем передавать идентификатор ресурса только для применения themestyle. Но возможны варианты
- Хотя он ограничивается константами функции
Window
. Мы можем использовать setFeatureDrawable и константы функций, чтобы установить некоторые чертежи например,FEATURE_ACTION_BAR
,FEATURE_CONTEXT_MENU
и т.д. - Используя setTheme функцию из активности, мы можем установить тему из ресурса стиля, которая решит проблему, упомянутую в комментариях, с помощью
AjaySharma
иNathan