7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

and factoryAdvent Calendar 2018

Day 17

【Android】Status barにTool barの色を基にした濃い色をセットする

Last updated at Posted at 2018-12-15

この記事はand factory Advent Calendar 2018 Day 17の記事になります。
前日は@Yaruki00 の「XCTestでアニメーションの結果を待つ便利メソッド」でした。

はじめに

アプリを新しく作成するときに、styleにステータスバー、ツールバーの背景色を指定できます。これでページごとに色指定をする必要がなくなり便利です。

ただ、やっぱり例外はあるもので、ページ毎で使う色数の増減や、個性(世界観?)をもたせたい場合などのデザイン要求が発生した場合は柔軟な指定が必要になると思います。

こちらを実装したコードを書きます。

  • ステータスバーの色はツールバーの色を少し濃くした色にする

イメージ

スクリーンショット 2018-12-15 13.50.32.png

ステータスバーの色はツールバーの色を濃いめにした感じです。

動作環境

Lolipop ~ Pie

コード

HogeActivity.kt
private void setupStatusBarColor() {
    if (Build.VERSION.SDK_INT >= 21) {
        int toolBarColor = R.color.morning_glory
        int statusBarColor = ColorUtils.compositeColors(ContextCompat.getColor(this, R.color.foreground_status_bar),
                ContextCompat.getColor(this,toolBarColor)); // ①
        getWindow().setStatusBarColor(statusBarColor);
    }
}


ステータスバーの色を生成しています。暗めの色(R.color.foreground_status_barはcolors.xmlで #20111111を指定)とツールバーの色の2つを指定しています。

このコードではツールバは薄い青、ステータスバーは濃いめの青をセットしています。

終わりに

簡単ですが以上です。良い感じに暗めの色を重ねる処理が実現できなかったのですがColorUtilsのメソッドを利用して実装しました。

参考

7
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?