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 件のコメント:
コメントを投稿