如何实现Android平台上的文字绘制功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计122个文字,预计阅读时间需要1分钟。
在中国,设计文字时,通常会使用以下代码片段来实现文本居中绘制:
javapublic void drawTextCenter(Canvas canvas, Rect rect, String text, Paint paint) { Paint.FontMetricsInt fontMetrics=paint.getFontMetricsInt(); float baseline=(rect.bottom + rect.top - fontMetrics.bottom - fontMetrics.descent) / 2; canvas.drawText(text, rect.left + (rect.width() - paint.measureText(text)) / 2, baseline, paint);}
public void drawTextCenter(Canvas canvas, Rect rect, String text, Paint paint) { Paint.FontMetricsInt fontMetrics = paint.getFontMetricsInt(); float baseline = (rect.bottom + rect.top - fontMetrics.bottom - fontMetrics.top) / 2; paint.setTextAlign(Paint.Align.CENTER); canvas.drawText(text, rect.centerX(), baseline, paint); }
本文共计122个文字,预计阅读时间需要1分钟。
在中国,设计文字时,通常会使用以下代码片段来实现文本居中绘制:
javapublic void drawTextCenter(Canvas canvas, Rect rect, String text, Paint paint) { Paint.FontMetricsInt fontMetrics=paint.getFontMetricsInt(); float baseline=(rect.bottom + rect.top - fontMetrics.bottom - fontMetrics.descent) / 2; canvas.drawText(text, rect.left + (rect.width() - paint.measureText(text)) / 2, baseline, paint);}
public void drawTextCenter(Canvas canvas, Rect rect, String text, Paint paint) { Paint.FontMetricsInt fontMetrics = paint.getFontMetricsInt(); float baseline = (rect.bottom + rect.top - fontMetrics.bottom - fontMetrics.top) / 2; paint.setTextAlign(Paint.Align.CENTER); canvas.drawText(text, rect.centerX(), baseline, paint); }

