应用自定义字体后生成的文本视图的getText

getText of the generated textview after applying custom fonts

我正在开发一个将普通文本转换为盲文文本的应用程序,稍后我希望将转换后的文本打印成 pdf。

目前我刚刚使用盲文的自定义字体转换了文本

tvTo.setText(edFrom.getText().toString());
Typeface font = Typeface.createFromAsset(getAssets(), "braille_outline.ttf");
tvTo.setTypeface(font);

现在,当我想打印这段文字时,我刚刚做了

String toPrint = tvTo.getText().toString();

但这会生成普通文本,而不是转换后的字体。

如有任何帮助,我们将不胜感激。 谢谢

toString returns 一个字符串。字符串只是字符数组(基本上),它们没有字体信息。 getText() return 是一个字符序列,可以包括设置字体和其他样式的 spannable。如果您需要跟踪字体,则需要在该级别上工作。我不确定 getText 是否默认 return 已设置字体的 spannable,但您可以轻松地将文本放入 TypefaceSpan。

我对生成 PDF 一无所知。但我认为 TextView 不会在这里帮助你。相反,要将文本直接绘制到位图,您可以在 Paint 上设置字体:

TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
textPaint.setTypeface(font);

然后在 Canvas 上绘制您的文字,如果它很短:

canvas.drawText(string, 0, 0, textPaint)

如果它更长并且您需要换行,请使用 StaticLayout 并将其绘制到 canvas。 http://developer.android.com/reference/android/text/StaticLayout.html