Как динамически изменить тему в Xamarin.Android? - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть приложение на Xamarin.Android.

У меня есть кнопка в приложении. Нажатие на эту кнопку меняет тему. Но я не хочу вызывать метод onCreate при изменении каждой темы.

    protected override void OnCreate(Bundle savedInstanceState)
    {
        SetTheme(StaticStore.IsChangeTheme ? Resource.Style.SxTheme : Resource.Style.DesignSx);

        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.activity_main);

        FindViewById<Button>(Resource.Id.ButtonChangeTheme).Click += (s, e) =>
        {
            if (StaticStore.IsChangeTheme)
            {
                StaticStore.IsChangeTheme = false;
            }
            else
            {
                StaticStore.IsChangeTheme = true;
            }
            Recreate();
        };
    }

В текущем коде каждая кнопка нажимается для ввода метода onCreate с использованием метода Recreate.

Как я могу сделать это динамически? Я не хочу, чтобы страница была заново создана.

...