private fun getTextPoint(metrics: Paint.FontMetrics, rectF: RectF): PointF { //计算文字高度 val th = metrics.descent - metrics.ascent //计算居中矩形的高度 val rh = rectF.bottom - rectF.top //计算文字居中的y坐标 val textStartHeight = (rh - th) / 2 //计算基线坐标 由于ascent是负值,因此需要求取他的绝对值 val baseline = textStartHeight + Math.abs(metrics.ascent) //计算相对水平位置 val tw = paint.measureText(text) val rw = rectF.right - rectF.left val startX = rectF.left + (rw - tw) / 2 return PointF(startX, baseline) }
自定义view文字居中
最新推荐文章于 2024-03-19 09:49:56 发布