問題タブ [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.
android - AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM が機能しない
編集:下部に更新
私はアプリケーションでこれを呼び出していますonCreate
:AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
次に、デバイスの設定 (設定 -> ディスプレイ -> ナイト モード (スイッチ: オン/オフ)) に移動し、アプリケーションを再開すると、テーマが適用されません。デバイスの設定でナイトモードをオンまたはオフにしても、テーマは適用されません。
また、ブレークポイントを追加し、デバイスの設定からダークモードがオンになっている場合でも、以下が返されることを確認しましたfalse
(注: アプリはダークモードをオフにして起動されました)。
デバイス設定からテーマを変更すると、application's
リソースが更新されないようです。
デバッグ目的で、Application クラスの次の関数をオーバーライドします。
そしてそれは呼び出されています。
編集:これが問題を引き起こしているようです。これを Application クラスに持つ:
上記のコードを削除すると、機能します。
android - エラー: 正しいプロバイダーが見つかりませんでしたこの消費者の上ウィジェット
Drawer 内の Switch で Dark/Light テーマを使用したい。私の「drawerDosyasi.dart」に「Switch」があります。しかし、最初に、HomePage(Anasayfa) で SwitchListTile を使用してコードを書きたかったのです。
2 つの質問:
1-私は今このエラーがあります
エラー: このコンシューマー ウィジェットの上に正しいプロバイダーが見つかりませんでした
これBuildContext
は、選択したプロバイダーを含まない を使用したために発生する可能性があります。一般的なシナリオがいくつかあります。
読み取ろうとしているプロバイダーは別のルートにあります。
プロバイダーは「スコープ」です。そのため、ルート内にプロバイダーを挿入すると、他のルートはそのプロバイダーにアクセスできなくなります。
BuildContext
読み取ろうとしているプロバイダーの祖先である を使用しました。Consumer が MultiProvider/Provider の下にあることを確認します。これは通常、プロバイダーを作成してすぐに読み取ろうとしたときに発生します。
たとえば、次の代わりに:
builder
次のように使用することを検討してください:
2-スイッチをドロワーに移動できません。null にするなどのエラーが発生します。だから私はDrawerHeaderのSwitch()でダーク/ライトモードを変更できるようにしたい
誰でも私のコードを修正できますか? 私は初心者で、2日間問題を解決できません。
アナサイファ・ダート
drawerDosyasi.dart
theme.dart
android - DrawerHeaderのSwitchでダーク/ライトモードを切り替えられるようにしたい
DrawerHeaderのSwitchでダーク/ライトモードを切り替えられるようにしたい。しかし、私はエラーが発生しています。
エラー: このコンシューマ ウィジェットの上に正しいプロバイダが見つかりませんでした これBuildContext
は、選択したプロバイダを含まない を使用したために発生する可能性があります。一般的なシナリオがいくつかあります。
- 読み取ろうとしているプロバイダーは別のルートにあります。プロバイダーは「スコープ」です。そのため、ルート内にプロバイダーを挿入すると、他のルートはそのプロバイダーにアクセスできなくなります。
BuildContext
読み取ろうとしているプロバイダーの祖先である を使用しました。Consumer が MultiProvider/Provider の下にあることを確認します。これは通常、プロバイダーを作成してすぐに読み取ろうとしたときに発生します。
アナサイファ・ダート
drawerDosyasi.dart
theme.dart
pubspec.yaml
アプリケーションは次のようになります