Android Q のダーク モードについてこれまでにわかっていることすべて

click fraud protection

Google の Android の次期バージョンである Android 10 Q には、システム全体のダーク モードが含まれます。 Android Q のアプリはダーク テーマをどのように処理しますか?

私たちの中で 最初の投稿 私たちが入手した開発中の Android Q ビルドから見つかった変更点を詳しく説明し、誰もが興奮しているダーク モードについて簡単に話しました。 要約すると、Android Q に組み込まれた Google のダーク モードは、ディスプレイ設定の新しい「ダーク モード」オプションで有効にできます。 ダーク モードは、常にオフにすることも、常にオンにすることも、夜間に自動的に有効にして朝になると無効にすることもできます。 ダーク モードのテーマは、システム UI (音量パネル、電源メニュー、クイック設定パネル、通知)、設定アプリ、およびフレームワーク (アクセント カラーなど) です。

上: Google Pixel 3 XL の Android Q のダーク モード。 下: Google Pixel 2 XL の Android Pie のライト テーマ。

ただし、Google はシステム要素を単にダークテーマにすることを望んでいるわけではありません。 また、ユーザーがスイッチを入れたときにすべてのファーストパーティ アプリがダーク モードをサポートするようにすることにも取り組んでいます。 Googleアプリのようなもの メッセージ, 電話, 連絡先, ニュース, ゲームをする, YouTube, 地図などの他のアプリはユーザー向けのダークモード切り替え機能で更新されています。 グーグルクローム Google I/O 2019 までに問題点を修正中です。 Google はまた、サードパーティのアプリ開発者に対して次のことを奨励し始めています。 暗いテーマを受け入れる なぜなら、同社はバッテリー寿命が長いことを認めているからです(少なくともOLEDディスプレイを搭載したスマートフォンでは)。

開発者が Android Q のダーク モードをサポートしてアプリを更新できるようにするために、Google はすべてのアプリを強制的にダーク モードに変更する新しい開発者オプションを提供しています。 このオプションは、すべてをダーク モードにしたいユーザーを対象としたものではありません。ネイティブのダーク モードを持たないすべてのアプリに対してシステムが適切な色を選択するのは難しいためです。 幸いなことに、Google はアプリがダーク モードをサポートするための基礎をすでに整えており、ダーク モードをサポートするアプリがすでにたくさんあります。 アプリにユーザー向けのダーク モードがない場合でも、Android Q のダーク モードの上書きオプションを有効にすると問題なく表示されます。 トグル。 これは、Android Q のダーク モードの上書きトグルを使用してダーク モードが強制されたときにどのように見えるかを示す、24 の異なるアプリのスクリーンショットのコレクションです。 以下で説明するように、すべてのアプリが見栄えが良いわけではありません。

Android Qでのダークモードの実装

API レベル 8 (Android 2.2 Froyo) で、Google は導入しました -夜の予選 資源のために。 アプリ開発者は、setNightMode を使用して昼夜モードを切り替えることができました。 Uiモードマネージャー. ただし、setNightMode では、デバイスが API レベル 22 以下の場合はカー モードまたはドッキング モードである必要があります。 アプリコンパット v23.2 DayNight の実装が導入され、Reddit クライアントのようなアプリは、AppCompatDeletegate.setDefaultNightMode() を使用して、時刻に基づいて昼と夜のテーマを自動的に切り替えることができます。 API レベル 28 (Android 9 Pie) では、MODE_NIGHT_FOLLOW_SYSTEM (setDefaultNightMode() のデフォルト値) が、[設定] --> [開発者向けオプション] --> [夜間モード] のユーザー定義のシステム設定に従うようになりました。 グーグルは 取りかかっている AppCompat の DayNight API の改善、特に WebView の問題などの「頻繁に発生する問題」に関して改善されました。 最後に、Google が有効にしたのは、 ナイトモード検出 そして持っています ブロックされたアプリ なしで MODIFY_DAY_NIGHT_MODE Android Q のフレームワークにおける署名/特権アクセス許可。 後者の変更は、アプリがシステム全体の夜間モードを変更できなくなることを意味します。これが、Android Pie のユーザーを混乱させる最近のメッセージのバグの原因となっています。

アップデート: アン アップデートAndroidX サポート ライブラリにより、開発者はデバイスがバッテリー セーバー モードに入ったときにアプリでダーク モードを自動的に有効にすることが簡単になります。

Android Qでダークモードを強制する

Snapchat、Slack、AOSP Email、AOSP Messaging、AOSP Dialer などのアプリケーションには、ユーザーに夜間モードでアプリを使用する方法が提供されていない場合でも、-night リソース修飾子があります。 Facebook や Instagram など、ハードコーディングされた -night リソース修飾子を持たない他のアプリは、Android Q のオーバーライド ダーク テーマをオンにすると見栄えが良くなる場合とそうでない場合があります。 Instagram は問題ないようですが、Facebook には多くの作業が必要です。 私のテストによると、夜間モードの開発者向けオプションの上書きは、アクセシビリティ設定の色の反転とはまったく異なります。おそらく Google は、この機能を、Android Q 開発者プレビューの期間中に開発者がアプリのダーク モードを作成できるようにすることを目的としています。 継続中。 ただし、Android Q のソース コードがリリースされるか、Google がそのドキュメントを公開するまで、この機能がどのように機能するのか正確にはわかりません。

Android Q のダーク モードのオーバーライドは、WebView を使用するアプリで最も壊れます。

の中に "ピクセルカラーのコストGoogle の Chris Banes と Alan Vivelette による講演では、この二人は開発者に次の方法でダーク テーマを実装するよう奨励しています。

  • AppCompat で DayNight API を使用する。 ストックウィジェットは夜間モードの変更に自動的に反応します。または、アプリにスイッチを追加することもできます。
  • getTheme().applyStyle() を呼び出して、実行時にオーバーレイ テーマを動的に適用します。 詳細については、この以前の講演を参照してください ここ.
  • colorForeground、colorControlNormal、colorAccent などのテーマ属性を使用してアプリを構造化します。
  • リソースに -night 修飾子を追加します。 -night 修飾子は、テーマカラーの抽出が難しいリソースに使用する必要があります。
  • 反転カラー モード ([設定] --> [カラー] --> [色の反転]) を有効にして、アプリがダーク モードでどのように見えるかを簡単に把握します。 色を反転してアプリのスクリーンショットを撮りたい場合は、次の点に注意してください。 色の反転はスクリーンショットに表示されません.

リリース時には、Android Q のダーク モードがファーストパーティの Google アプリにも拡張されますが、サードパーティのアプリもすぐにダーク テーマをアプリに採用することを期待しています。 さらに、ユーザーがシステム全体の設定を有効にすると、より多くのアプリが自動的に夜のテーマに変更されることを期待しています。 現時点で、Android Q のシステム全体のダーク モードが有効になっているときにテーマを自動的に変更する唯一のアプリは、Google コンタクトです。 Android Q がリリースされる数か月後にどうなるかわかりますが、これを読んでいるすべての開発者の皆さん、ダークサイドを受け入れてください。

LineageOS の貢献者からの意見をもとに ジョーイ・リゾーリ.