ホームページ >Java >&#&チュートリアル >Android はイマーシブ通知バーを実装しており、通知バーの背景色はアプリのナビゲーション バーの背景色に応じて変化します。
最近、多くのアプリが没入型通知バーを満たしています。いわゆる没入型通知バーは、プログラム コンテンツが大半を占めるシナリオでのナビゲーションに使用されるさまざまなインターフェイス操作スペースを非表示にし、比較的「目に見えない」インターフェイスを通じてこれを実現します。コンテンツ自体に対するユーザーの可視性。
最新の Android 4.4 システムの通知バー没入モードでは、ソフトウェアを開いたときに通知バーとソフトウェアの上部の色が統合され、ソフトウェアとシステム自体がより統合されるだけではありません。 携帯電話の通知バーの色はもはや白または黒だけではありません。私が使用している Xiaomi Mi 4 携帯電話の組み込みソフトウェアは、没入型通知バーをサポートしています。たとえば、次のようになります。自分の QQ では、タイトルの背景色が青になり、通知バーも青になります。以前はできなかったかもしれませんが、最近サポートされるようになりました。
miui6 がいつ一律サポートされるかわかりません。アプリで没入型通知バーをサポートする方法を説明します:
一部の専門家がすでに github でそれを研究しています: 実装方法について話しましょう:
まず SystemBarTint をダウンロードし、その中にある SystemBarTintManager.java をコピーして配置します。独自のプロジェクトでは、アクティビティの onCreate() メソッドで通知バーの色を判断して設定します (色はソフトウェアのタイトルバーの背景に従って定義する必要があります)
コード 1:
コードは次のとおりです
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setTranslucentStatus(true); } SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true); tintManager.setStatusBarTintResource(R.color.statusbar_bg);//通知栏所需颜色
以下の設定です 通知バーのステータス
@TargetApi(19) private void setTranslucentStatus(boolean on) { Window win = getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; if (on) { winParams.flags |= bits; } else { winParams.flags &= ~bits; } win.setAttributes(winParams); }
このようにして、没入型通知バーを完全に実現できます。システムは 4.4 以降である必要があることに注意してください。友達の皆さん、ぜひ試してみてください。
コード 2:
通知バーの背景色は、アプリのナビゲーション バー (上部のタイトル) の背景色に応じて変わります。
これは没入型ステータス バーとも呼ばれ、Android 4.4 以降で Google によって提案されました。
スタイルは図に示すとおりです:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); }
次に、XML レイアウト ファイルを追加します:
android:clipToPadding="false" android:fitsSystemWindows="true"
没入型通知バーの Android 実装をさらに詳しくするには、通知バーの背景色は、アプリのナビゲーション バー。関連記事については、PHP 中国語 Web サイトに注目してください。