夜間モードがオンの場合、自分のアクティビティで別のレイアウトを選択します。私がやっていることアプリで夜間モードの状態が検出されない - オンに切り替えた場合でも
次のように
はnight
とnotnight
に別々のレイアウトフォルダを追加しました:
res
-----layout-night
----------my_layout.xml
-----layout-notnight
----------my_layout.xml
を私は夜モードを切り替えると、アプリを再度開いたときに今、私はレイアウトが変化するであろう期待していましたしかし、それはしません。
これが機能するには何か特別なことがありますか?
これを機能させるために追加する必要があるアクセス許可はありますか?はいの場合はどちらですか?
代わりの方法はありません。私の使用例では、特に、夜間モードのステータスに基づいてレイアウトを選択する必要があります。私は、正しいレイアウトが、フォルダが定位置にあるときに自動的に選択されない理由を理解しようとしています。
UPDATE:絞り込ま問題。レイアウトlayout-notnight
は常に選択されます。したがって、フォルダ構造は正常に動作しています。アプリが夜間モードを検出できません。 (ナイトモードは、デバイスには、上のトグルしようと、それは、デバイスが、アプリ上で動作オフ文句を検出でONトグルする)
そこで質問は今:
は、それがの状態を検出することができることのために必要な権限ですナイトモード? Wi-Fiの状態やネットワークの状態を検出するために必要です。
あなたはそれらを同じフォルダに置くことはできません。それらを 'day'と 'night'という接尾辞で区切り、 'onCreate'で' setContentView'を使用して適切なものを選択できますか? – Vucko
いいえ、私はそうすることができることを知っています。しかし、それは私のユースケースではありません。主な目的は、夜間モードの状況に基づいてレイアウトを変更することです。 – AndroidMechanic
ああ、申し訳ありません。私はあなたがやろうとしていることを理解しています。例えば、アンドロイドが 'mdpi'、' hdpi'、 'xhdpi'などと似たようなものでしょうか。それがどのように行われているのかを知り、それを模倣しようと思いますか? – Vucko