resources.getColor() is deprecated now what?

resources.getColor() is deprecated now what?

resources.getColor() is used to get the color in Android, but, now in recent Android API it is deprecated. What to do to get color in the latest Android API then?

Use ContextCompat.getColor(context, <color>) to get colors in your Android project.


Sample code to test this methodology to get colors.


package com.bitcolon.canvasdemo

import android.content.Context
import android.graphics.Canvas
import android.graphics.Paint
import android.util.AttributeSet
import android.view.View
import androidx.core.content.ContextCompat

class CustomView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : View(context, attrs, defStyleAttr) {

val paint: Paint = Paint().apply {
// get color
color = ContextCompat.getColor(context, R.color.purple_700)
style = Paint.Style.FILL
}

override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)

override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
canvas.drawCircle(100f, 100f, 100f, paint)
}
}
}