В нашем приложении MAUI для поддержки темного режима мы установили для всех элементов ContentPage в xaml следующее значение:
BackgroundColor="{AppThemeBinding Light=White, Dark=Black}"
Это работает, но при смене страниц экран на короткое время становится белым при первой загрузке страницы, а затем становится черным. Белый цвет сохраняется примерно полсекунды, но, очевидно, очень дезориентирует тех, кто использует темный режим.
Стоит отметить, что мы не используем следующий распространенный метод для изменения страниц, поскольку он не используется. обеспечить желаемую гибкость:
Shell.Current.GoToAsync(nameof(MyApp.View.MyPage));
Но вместо этого во всем приложении мы используем следующий метод для изменения страниц, что может повлиять на проблему:
Application.Current.MainPage = new MyPage();
Что мы пытались исправить с мерцанием
В App.xaml (это не решило проблему) :
В MauiProgram.cs (это тоже не решило проблему):
Microsoft.Maui.Handlers.PageHandler.Mapper.AppendToMapping(nameof(Page), (handler, view) =>
{
handler.PlatformView.SetBackgroundColor(
App.CurrentTheme == AppTheme.Dark ?
AndroidGraphics.Color.Black : AndroidGraphics.Color.White);
});
Еще одна попытка в MauiProgram.cs не решила проблему:
Microsoft.Maui.Handlers.WindowHandler.Mapper.AppendToMapping(nameof(IWindow), (handler, view) =>
{
var activity = Platform.CurrentActivity;
activity?.Window?.DecorView?.SetBackgroundColor(App.CurrentTheme == AppTheme.Dark ?
AndroidGraphics.Color.Black : AndroidGraphics.Color.White);
});
Подробнее здесь: https://stackoverflow.com/questions/791 ... dark-theme
Приложение MAUI мигает белым между сменами страниц в темной теме ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как сделать так, чтобы строка заголовка формы соответствовала темной теме Windows?
Anonymous » » в форуме C# - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-