問題タブ [android-dark-theme]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
420 参照

android - setDefaultNightMode() は、PreferenceFragment での 2 回目の呼び出し後にのみ機能します

アプリにダークモードを実装しようとしています。PreferenceFragment現在、ネストされたを使用して UI モードを明るいモードと暗いモードに切り替えようとしていAppCompatActivityます。アプリは、デフォルト値としてライト テーマから開始して、次のように動作します。

  • ListPreference で「暗い」を選択すると、設定の概要が変わりますが、UI はこれと他のすべてのアクティビティで明るいままです。
  • もう一度「ダーク」を選択すると、バックスタック内の他のアクティビティと同様に、アクティビティがダーク テーマに切り替わります。
  • 明るいテーマに戻したいときは、同じことが逆に起こります。

したがって、基本的にはすべて機能しますが、ListPreference で目的の値を 2 回選択する必要があります。ListPreference のコード:

私がこれまでに試したこと:

  • ステートメントgetActivity.recreate()の前に呼び出すreturn true;
  • 少しgetActivity.recreate()遅れて、Handler
  • ブール値が true の場合に親アクティビティthis.recreate()のメソッドを呼び出すonResume()changedDesignSetting

今後ともよろしくお願いいたします。