API level によってでる Deprecation(非推奨) 通知を退治していく。
AndroidStudio のエディタのバージョンにもよると思うけど非推奨な関数とか使うと文字の真ん中に線が引かれる。
下の文みたいな感じ。
非推奨なら推奨してるやつ最初から提示しろ
それがうざいので退治していく。
非推奨から現在推奨されていると思われるものに変更したときにエディターでエラーがでたままになったりするので一回該当部分を消して貼り付けなおすとなくなった。
チート技(非推奨なのを明示しておく)
@Suppress("DEPRECATION")これを関数の上につけたり、関数を呼んでる関数の上につけたりする。
setColorFilter
BlendModeCompat 内も API のレベルによって新しすぎるものがあったりする。API 29 からつかえるみたいなやつ
imageView.background.setColorFilter(BlendModeColorFilter(color,PorterDuff.Mode.MULTIPLY))
↓
imageView.background.colorFilter = BlendModeColorFilterCompat.createBlendModeColorFilterCompat(color,BlendModeCompat.SRC_ATOP)
getColor
context を入れてあげればいいだけみたい。
resources.getColor(R.color.purple_700)
↓
resources.getColor(R.color.green_100,context.theme)
theme のとりかた
Activity 内
resources.getColor(R.color.green_100,this.theme)
Activity 外(View がある前提)
val context = view.context resources.getColor(R.color.green_100,context.theme)
ひとこと
随時追加したい。