糞かよってなったのでメモ
Java
メソッド | APILevel | XML属性 | 備考 |
---|---|---|---|
setColorFilter(ColorFilter) |
1 | ||
setColorFilter(int, PorterDuff.Mode) |
1 | android:tint |
|
setColorFilter(int) |
8 | SRC_ATOP | |
setImageTintList(ColorStateList) |
21 | android:tint |
|
setImageTintMode(PorterDuff.Mode) |
21 | android:tintMode |
XML
属性名 | format | APILevel | 備考 |
---|---|---|---|
android:tint |
color (int) | 1? | SRC_ATOP |
android:tint |
ColorStateList | 21 | SRC_ATOP |
android:tintMode |
enum | 21 |
注意点
-
android:tint
はバージョンによって振る舞いが変わるので注意です -
AppCompatImageView
はtint
属性のバックポートを行ってくれません (25.2.0時点)- いつ頃追加されたのか把握できてませんが、[appcompatでバックポートされました]
(https://android.googlesource.com/platform/frameworks/support/+/3b04742a1d5209de20b93732e490a354d442294d) - DataBindingの属性
android:tint="@{}"
には対応していないです。(app:tint="@{}"
もない)
- いつ頃追加されたのか把握できてませんが、[appcompatでバックポートされました]
- DataBindingでの
android:tint="@{}"
はColorInt
、ColorStateList
いずれも21以上のようです(常にColorStateListとして扱われる)-
app:tint
ならいけそうだけど、BindingAdapterのマッピングがされてないかも
-