問題タブ [android-night-mode]
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 - setDefaultNightMode() は、PreferenceFragment での 2 回目の呼び出し後にのみ機能します
アプリにダークモードを実装しようとしています。PreferenceFragment
現在、ネストされたを使用して UI モードを明るいモードと暗いモードに切り替えようとしていAppCompatActivity
ます。アプリは、デフォルト値としてライト テーマから開始して、次のように動作します。
- ListPreference で「暗い」を選択すると、設定の概要が変わりますが、UI はこれと他のすべてのアクティビティで明るいままです。
- もう一度「ダーク」を選択すると、バックスタック内の他のアクティビティと同様に、アクティビティがダーク テーマに切り替わります。
- 明るいテーマに戻したいときは、同じことが逆に起こります。
したがって、基本的にはすべて機能しますが、ListPreference で目的の値を 2 回選択する必要があります。ListPreference のコード:
私がこれまでに試したこと:
- ステートメント
getActivity.recreate()
の前に呼び出すreturn true;
- 少し
getActivity.recreate()
遅れて、Handler
- ブール値が true の場合に親アクティビティ
this.recreate()
のメソッドを呼び出すonResume()
changedDesignSetting
今後ともよろしくお願いいたします。
android - ダーク モード (ナイト モード) 切り替え中に Android カスタム ロケールが失われる
私たちのアプリでは、デバイスのロケールだけに依存するのではなく、ユーザーの選択に基づいて言語を変更できる必要があります。つまり、ユーザーがこの選択を行ったときにコンテキストをラップし、指定された言語をすべてのアクティビティに挿入する方法を実装する必要がありました。
これは以前はうまく機能していましたが、ダーク モードを実装した今、appcompat 1.1.0 を使用しているときに、ダーク モードを切り替えると、言語がデバイスの言語設定にリセットされることに気付きました。プロジェクトの appcompat のバージョンを 1.0.2 からアップグレードして、そのバージョンで壊れていたが1.1.0-alpha03MODE_NIGHT_FOLLOW_SYSTEM
で修正済みとマークされているダーク モードを使用できるようにしたいと考えています。
この問題についてバグを報告しましたが、最新のappcompatを使用し、ダーク モードでカスタム言語を使用できるようにする回避策を誰かが見つけたのではないかと考えています。これは、この問題を示すプロジェクトです。
android - ナイト モードの色がリサイクラー ビューの背景に適用されない
Android アプリにナイト モードを実装したいので、ナイト モードを実装するために Theme.AppCompat.DayNight テーマを使用しました。しかし、ナイト モードでは、ツールバーとリサイクラー ビューの色をカスタマイズする必要があります。
そのために、attrs.xml ファイルで属性を宣言し、その属性を recyclerview の背景として使用します。
attrs.xml ファイルは次のとおりです。
リサイクラービューはこちら
スタイルについては、ナイト モード用に styles.xml と styles.xml (夜) を宣言しました。
ここにstyles.xmlがあります
これがstyles.xmlです(夜)
styles.xml ファイルで、recyclerview の背景に赤色を定義し、ナイト モード ファイルに黄色を定義しました。
上記の行は、アクティビティ ファイルに存在し、ナイト モードになります。
ただし、リサイクラー ビューの色が RED になるたびに、styles.xml から
styles.xml (夜) の色が recyclerview に適用されないのはなぜですか。
なぜ機能しないのですか?またはこれを行う他の方法はありますか?
android - Android テーマが暗い場合にブランド起動の背景色を変更する
アプリケーションにダークテーマを実装しました。システムがダークモードの場合、アプリケーションはダークモードになり、その逆も同様です。
問題は Branded Launch です。2 つの描画可能ファイルがあります。
暗い:
そして光:
ブランドローンチを使用するために、これを追加しました:
私の中でAndroidManifest.xml
明らかにこれを行うと、ダークモードがアクティブなときにダークブランドの起動を設定できません。私は何をすべきか?