我正在尝试找到一个简单的解决方案,为文本添加一个轮廓,使其无论背后的背景如何都能脱颖而出。
谷歌对此问题的搜索显示很少。我能在这里找到一个关于此的单一主题:black line around the text但是,公认的解决方案只是部分完整。我不确定如何实际实现Simon的建议。我创建了他描述的Java类,但我不知道如何实际使用它。
任何人都可以理解这一点,或者有另一种方法来实现这个目标吗?
此问题已标记为重复,但链接的答案不起作用。因此,这仍然是一个持续的问题。答案如下:
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
Paint strokePaint = new Paint();
strokePaint.setARGB(255, 0, 0, 0);
strokePaint.setTextAlign(Paint.Align.CENTER);
strokePaint.setTextSize(16);
strokePaint.setTypeface(Typeface.DEFAULT_BOLD);
strokePaint.setStyle(Paint.Style.STROKE);
strokePaint.setStrokeWidth(2);
Paint textPaint = new Paint();
textPaint.setARGB(255, 255, 255, 255);
textPaint.setTextAlign(Paint.Align.CENTER);
textPaint.setTextSize(16);
textPaint.setTypeface(Typeface.DEFAULT_BOLD);
Path path = new Path();
String text = "Some Text";
textPaint.getTextPath(text, 0, text.length(), 0, 100, path);
canvas.drawPath(path, strokePaint);
canvas.drawPath(path, textPaint);
super.draw(canvas, mapView, shadow);
}
该行:
super.draw(canvas, mapView, shadow);
被编译器选为错误。 .draw部分为红色,因为它“无法解析方法”。由于此解决方案不是一个有效的解决方案,因此这个问题不重复。
关于如何让这个工作的任何进一步的想法,任何人?