Пользовательский текст TextView не виден - PullRequest
0 голосов
/ 05 июня 2018

У меня есть простой пользовательский TextView, который добавляет цвет фона с закругленными углами.Тем не менее, текст не виден, как вы можете видеть из зеленого маленького квадрата.Я попытался установить text и textColor в XML-файл, тоже самое.Где я сделал не так?

enter image description here

class StatusRectView(context: Context, attrs: AttributeSet) : TextView(context, attrs) {

    private var cornerRadius = 0.8f
    private val paint = Paint()
    private var size = 0  

    init {
        paint.isAntiAlias = true
        gravity = Gravity.CENTER
        setTextColor(Color.WHITE)
        text = "D"
    }

    override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec)

        size = Math.min(measuredWidth, measuredHeight)
        setMeasuredDimension(size, size)
    }

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

        paint.color = Color.GREEN
        paint.style = Paint.Style.FILL

        val rectF = RectF(0f,  0f, size * 1f, size * 1f)
        canvas.drawRoundRect(rectF, cornerRadius, cornerRadius, paint)
    }
}

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Вы должны позвонить super.onDraw после рисования прямоугольника.

0 голосов
/ 05 июня 2018

Вы рисуете свой прямоугольник поверх содержимого базового класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...