2021年2月18日木曜日

縁取り TextView

縁の設定をして super.onDraw() を呼び、中の設定をして super.onDraw() を呼ぶ。
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 件のコメント:

コメントを投稿