在Android中创建漂亮的描边文本

7 浏览
0 Comments

在Android中创建漂亮的描边文本

我知道如何使用自定义视图(EditText或TextView)绘制文本,但是我无法实现像使用Photoshop绘制的那样漂亮的效果。是的,它还有外部阴影。\n迄今为止,我所做的是调整描边宽度和描边连接样式。然而,如果我增加描边宽度,描边将覆盖整个文本。\n据我所搜集,有一个叫做MagicTextView的库,但它也不能给出如上所示的效果。\n更新:根据@pskink的建议,我对一些东西进行了调整。现在它可以工作了。但是我不能再拖动了。如果我拖动那个EditText,就会出现一些奇怪的线条,如下所示。\n这是代码:\n@Override \npublic void onDraw(Canvas canvas) {\n final int x = this.getLeft();\n final int y = this.getBottom();\n mText = this.getText().toString();\n p.setStrokeWidth(30);\n p.setStyle(Style.STROKE);\n p.setStrokeJoin(Join.ROUND);\n p.setColor(0xffffffff);\n canvas.drawText(mText, x, y, p);\n p.setStyle(Style.FILL);\n p.setColor(0xff000000);\n canvas.drawText(mText, x, y, p);\n}

0
0 Comments

问题的原因是增加描边宽度后,描边会覆盖整个文本。解决方法是预先计算所需的宽度和高度,根据描边的大小进行调整。另外,可以尝试使用粗体字体来解决该问题。如果拖动EditText时出现奇怪的线条,可能是焦点在EditText上导致的。可以通过移除焦点或调整焦点样式来解决。调整宽度和高度并不能解决问题,建议使用更加粗体的字体。确保所使用的字体本身具有粗体字符。

0
0 Comments

在Android中出现了“Beautiful Stroked Text in Android”问题的原因是使用了不正确的绘制文本的方法。在代码中,通过设置画笔的样式、阴影和颜色来绘制文本,但是在绘制之前没有正确设置文本的位置。

要解决这个问题,需要在绘制文本之前正确设置文本的位置。可以通过在onDraw方法中添加以下代码来解决:

canvas.translate(xPos, yPos);

这一行代码将文本的位置设置为xPos和yPos的值,这些值是从ACTION_MOVE触摸事件中获得的x和y值。另外,还需要将行高度添加为canvas文本的Y坐标。

通过以上操作,可以正确地绘制带有描边的文本。这个解决方法可以解决在Android中绘制漂亮的描边文本的问题。

感谢您的帮助,您解决了我的问题。

0