如何在android中绘制BIG瘦文本

时间:2012-01-28 08:34:17

标签: android graphic

我需要在我的视图上绘制单个字符作为BIG thin text,如下图所示(文本只是简单的行)

enter image description here

但我的下面的代码给了我下面的图像(文字形状)

    Paint dPaint = new Paint();
    dPaint.setAntiAlias(true);
    dPaint.setDither(true);
    dPaint.setColor(Color.RED);
    dPaint.setTextSize(getWidth()*.8F);
    dPaint.setStyle(Paint.Style.STROKE);
    dPaint.setStrokeWidth(1);
    canvas.drawText("A",getWidth()*.3F, getHeight()*.6F, dPaint);

enter image description here

我尝试了各种油漆和描边属性但没有成功。另外我读了java中的2D文本被绘制成形状。

有没有办法将文字(特别是字符)绘制为线条而不是形状。文字也应该是BIG大小。

2 个答案:

答案 0 :(得分:1)

我认为只有两种方法可以满足您的要求。

将自定义字体类型与您的字体样式一起使用,并在您的应用程序中使用它,如下所示

    TextView text = (TextView) findViewById(R.id.textView);
    Typeface customFont = Typeface.createFromAsset(getAssets(), "ThinText.ttf");
    text.setTypeface(customFont);

另一种技巧是你必须通过计算绘制该字母或数字的路径中所需的坐标来绘制给角色作为线条的形状。

我希望它可以帮助你。

答案 1 :(得分:0)

你增加strokewidth,然后瘦如此增加:

dPaint.setStrokeWidth(5);