Я здание деятельности, которая загружает определенную тему во время выполнения:Styling панель со стилями в theme.xml
@Override
protected void onCreate(Bundle savedInstanceState) {
if (shouldLoadLight()) {
setTheme(R.style.ThemeLight);
} else {
setTheme(R.style.ThemeDark);
}
super.onCreate(savedInstanceState);
...
}
С легкой темой, панель инструменты белые и содержание на белом фоне. С темной темой панель инструментов темно-серая, а контент также находится на белом фоне. (например, с темами Light.DarkActionBar)
Мне нужно применить пользовательскую тему к панели инструментов, чтобы иметь хорошие цвета с обратной связью, но, поскольку тема активности динамична, я не могу ее установить в своем макете XML ,
Вот то, что я пытался до сих пор:
theme.xml
<resources>
<!-- LIGHT -->
<style name="ThemeLight" parent="Theme.AppCompat.Light.NoActionBar">
<!-- here, i want grey ripple, it's provided by the light theme already -->
</style>
<!-- DARK -->
<style name="ThemeDark" parent="Theme.AppCompat.Light.NoActionBar">
<!-- here, i want white ripple, like with the Dark.ActionBar theme -->
<item name="toolbarStyle">@style/ToolbarDark</item> <!-- not working -->
<item name="actionbarTheme">@style/ToolbarDark</item> <!-- not working -->
</style>
<style name="ToolbarDark" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<!-- here, i want white ripple, like with the Dark.ActionBar theme -->
</style>
</resources>
Любой идея о том, как достичь такой панель инструментов стиля от theme.xml, а не из android:theme=
атрибута XML в форматах?
спасибо, Pierre.
Попробуйте применить стили к панели инструментов. как Light.DarkActionBar – Harry
Непосредственно в XML-формате макета? Я не могу этого сделать, потому что глобальная тема динамична, и поэтому, когда-нибудь я хочу Light.DarkActionBar на Панели инструментов, некоторое время я просто хочу Свет ...: s – pdegand59