最近はダークテーマだなんだと、テーマを切り替えるのが当たり前になってきたけど俺の作ってるアプリもやらなきゃだめなのかな
また、マイクロサイトのサイトを見ながらやってみますか
とは言ってもそんなに難しくない
こんな感じ
private void OnCounterClicked(object sender, EventArgs e)
{
if (Application.Current.UserAppTheme == AppTheme.Light)
{
Application.Current.UserAppTheme = AppTheme.Dark;
}
else
{
Application.Current.UserAppTheme = AppTheme.Light;
}
}
Application.Current.UserAppTheme
に、ライトテーマ、ダークテーマを設定するだけ
んで、スマホのテーマが変更されたらこんなコードを書けばいい事になってるけどアプリを立ち上げたままテーマを変えてもイベント検知しないのよねぇ
Application.Current.RequestedThemeChanged += (s, e) =>
{
string themaname = e.RequestedTheme.ToString();
if (themaname == "Dark")
{
Application.Current.UserAppTheme = AppTheme.Dark;
}
else
{
Application.Current.UserAppTheme = AppTheme.Light;
}
Debug.Write(themaname);
};
App.xml.csやAppShell.xaml.cs、MainPage.xaml.csに入れてみたのだけど・・・
Androidだと設定画面をいじるとアプリがバックグラウンドにまわるからイベント検知しないのだろうか
ちなみに、Visual Studio のテンプレートを作って、試すとダークテーマはこんな感じ
それと、テーマの色はstyelsで設定する
Resources/styels/Styles.xamlの中に
DarkとかLightとか色々書いてあるのでいじるとヘンテコな色になったりする
コメント
コメントを投稿