Android DrawText 画边框

在Android开发中,我们经常需要在屏幕上绘制文本。有时候我们不仅需要显示文本本身,还需要在文本周围绘制一个边框来突出显示。本文将介绍如何在Android中使用DrawText方法来绘制带有边框的文本。

DrawText方法简介

在Android中,Canvas类提供了一个用于绘制文本的方法叫做drawText。通过这个方法,我们可以在指定位置绘制指定文本。

画带边框的文本

要在Android中绘制带有边框的文本,我们需要先绘制文本本身,然后再绘制一个边框。下面是一个简单的示例代码:

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    
    Paint textPaint = new Paint();
    textPaint.setColor(Color.BLACK);
    textPaint.setTextSize(50);
    
    String text = "Hello World!";
    float x = 100;
    float y = 100;
    
    Rect rect = new Rect();
    textPaint.getTextBounds(text, 0, text.length(), rect);
    
    float width = rect.width();
    float height = rect.height();
    
    canvas.drawText(text, x, y, textPaint);
    
    Paint borderPaint = new Paint();
    borderPaint.setColor(Color.RED);
    borderPaint.setStyle(Paint.Style.STROKE);
    borderPaint.setStrokeWidth(2);
    
    canvas.drawRect(x, y, x + width, y + height, borderPaint);
}

在这段代码中,我们首先创建了一个画笔对象textPaint来绘制文本,然后用drawText方法将"Hello World!"文本绘制在坐标(100, 100)处。接着我们创建了一个矩形对象rect来获取文本的宽度和高度,然后使用drawRect方法在文本周围绘制一个红色的边框。

示例效果

通过上面的代码,我们可以在屏幕上绘制一个带有边框的文本"Hello World!"。效果如下图所示:

gantt
    title 绘制带边框的文本

    section 绘制文本
    绘制: 100, 100, 328, 150

    section 绘制边框
    绘制: 100, 100, 328, 150

总结

通过本文的介绍,我们学习了如何在Android中使用DrawText方法来绘制带有边框的文本。这种方法可以让我们更加灵活地控制文本的显示效果,使得我们的应用界面更加丰富多彩。希望本文对你有所帮助!