backgroundTintとbackgroundTintModeって何なんなの?
backgroundと何が違うの?
と思って調べた結果のメモ。
違い
結論言うと
- background:背景色
- backgroundTint:背景色に合成(?)するための色
- backgroundTintMode:どうやって合成するか
みたいな違いらしい。
例えば
- background:#FF0000
- backgroundTint:#00FF00
- backgroundTintMode:add
みたいに設定すると
- FF0000 + 00FF00 = FFFF00
という色に合成されるよーみたいな感じ。
backgroundTintModeの違い
以下、引用。
背景の色合いを適用するために使用されるブレンドモード。
次の定数値のいずれかでなければなりません。
Constant Value Description add 10 色合いと描画可能なカラーチャンネルとアルファチャンネルを組み合わせて、結果を有効なカラー値に固定します。飽和(S + D) multiply e ドロアブルの色とアルファチャンネルを色合いのチャンネルと乗算します。[Sa * Da、Sc * Dc] screen f [Sa + Da – Sa * Da, Sc + Dc – Sc * Dc] src_atop 9 ティントはドロアブルの上に描画されますが、ドロアブルのアルファチャンネルが結果をマスクします。[Da、Sc * Da +(1-Sa)* Dc] src_in 5 色合いは、ドロアブルのアルファチャネルによってマスクされます。ドロウアブルのカラーチャンネルは破棄されます。[Sa * Da、Sc * Da] src_over 3 ティントはドロアブルの上に描画されます。[Sa +(1-Sa)* Da、Rc = Sc +(1-Sa)* Dc] 引用:https://developer.android.com/reference/android/view/View.html#attr_android:backgroundTintMode
画像編集ソフトとかでもよくあるやつですね。
コメント