Android 自定义文本视图文本不可见
我有一个简单的自定义Android 自定义文本视图文本不可见,android,kotlin,textview,Android,Kotlin,Textview,我有一个简单的自定义TextView,它添加了圆角背景色。但是,文本是不可见的,正如您可以从绿色的小正方形中看到的那样。我也尝试在XML文件中设置文本和文本颜色,同样的事情。我哪里做错了 您正在基类内容的顶部绘制矩形。您正在基类内容的顶部绘制矩形。您必须在绘制矩形后调用super.onDraw。您必须在绘制矩形后调用super.onDraw。您必须在onDraw内部调用super.onDraw自定义文本视图的方法。您必须在自定义文本视图的onDraw方法中调用super.onDraw。谢谢,我
TextView
,它添加了圆角背景色。但是,文本是不可见的,正如您可以从绿色的小正方形中看到的那样。我也尝试在XML文件中设置文本和文本颜色,同样的事情。我哪里做错了
您正在基类内容的顶部绘制矩形。您正在基类内容的顶部绘制矩形。您必须在绘制矩形后调用
super.onDraw
。您必须在绘制矩形后调用super.onDraw
。您必须在onDraw内部调用super.onDraw自定义文本视图的方法。您必须在自定义文本视图的onDraw方法中调用super.onDraw。谢谢,我将super.onDraw
移到了底部,效果很好。谢谢,我将super.onDraw
移到了底部,效果很好
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)
}
}