TextPaint.setColor() ではなく TextView.setTextColor() を使わないとうまく色が変わらない。
class OutlineTextView : AppCompatTextView {
constructor(context: Context) : super(context)
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(
context,
attrs,
defStyleAttr
)
private val outlineWidth = 10 * context.resources.displayMetrics.density
override fun onDraw(canvas: Canvas?) {
setTextColor(Color.RED)
paint.apply {
style = Paint.Style.FILL_AND_STROKE
strokeWidth = outlineWidth
}
super.onDraw(canvas)
setTextColor(Color.BLACK)
paint.apply {
style = Paint.Style.FILL
strokeWidth = 0f
}
super.onDraw(canvas)
}
}
0 件のコメント:
コメントを投稿