LoginSignup
4
2

More than 3 years have passed since last update.

backgroundとbackgroundTintの違い

Posted at

android:background

背景として使用するドローワブルで、描画可能なリソース(PNG画像、9パッチ1、 シェイプドローワブル2、色を指定します。

色の形式は「#rgb#argb#rrggbb#aarrggbb」があります。

android:backgroundTint

backgroundにカラーフィルターをかけて色を変化させることが出来ます。

例えば、android:background="#FF0000"(赤)で、android:backgroundTint="#00FF00"(緑)を指定すると、#FFFF00(黄色)になります。

3原色と色度図より

色の形式はandroid:backgroundと同じく、「#rgb#argb#rrggbb#aarrggbb」があります。

backgroundTintには、android:backgroundTintModeというものがあり、色合いの「ブレンディングモード」を設定することが出来ます。

android:backgroundTintMode

android:backgroundTintMode="add"

色合いと描画可能なカラーおよびアルファチャネルを組み合わせて、結果を有効なカラー値にクランプ(合わせるみたいな意味?)します(S + D)

android:backgroundTint="multiply"

ドローアブルのカラーチャンネルとアルファチャンネルに色合いのチャンネルを掛けます。 [Sa * Da、Sc * Dc]

android:backgroundTint="screen"

[Sa + Da - Sa * Da, Sc + Dc - Sc * Dc]

android:backgroundTint="src_atop"

色合いはドローアブルの上に描画されますが、ドローアブルのアルファチャネルが結果をマスクします。 [Da、Sc * Da +(1-Sa)* Dc]

android:backgroundTint="src_in"

色合いは、ドローアブルのアルファチャネルによってマスクされます。ドローアブルのカラーチャンネルは破棄されます。 [Sa * Da、Sc * Da]

android:backgroundTint="src_over"

ドローアブルの上に色合いが描かれています。 [Sa +(1-Sa)* Da、Rc = Sc +(1-Sa)* Dc]


  1. コンテンツや画面の大きさに合わせて、サイズが伸縮するビットマップ画像 

  2. 色やグラデーションなどを含む図形を定義するXMLファイル)などの状態ファイル 

4
2
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
4
2