Android相当于CoreText

时间:2012-04-22 18:33:56

标签: android ios android-widget core-text

我们有一个iOS应用程序,可以呈现大量文本:http://itunes.apple.com/br/app/biblia-sagrada/id370178518?mt=8

我们使用CoreText渲染文本,并让用户能够更改格式,字体大小和字体。

我们正在尝试将其移植到Android,但我不确定Android中是否有替代CoreText。

2 个答案:

答案 0 :(得分:5)

Android中的iOS'CoreText相当于drawText API,Canvas类的一部分,Canvas.drawText()Canvas.drawPosText()等。有关详情,请参阅javadoc for Canvas详情。这些图形API使用下面的Skia

这些图形API提供的功能与iOS中的功能不同,比如没有CTFramesetter等效功能可以帮助您布局文本和处理换行符。使用drawText API,您一次只能绘制一行,您必须自己处理换行符,就像在iOS中使用CTTypesetter一样。有关布局文字的信息,请参阅Paint.breakTextPaint.measureText

更改字体大小& font face,您可以在Paint对象中设置相关属性,该对象作为最后一个参数传递给drawText API。

段:

Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setTextSize(14);
String text = "Hello world!";
canvas.drawText(text, 0, 100, paint);

注意:Android drawText API中使用的坐标系来自left-top角。

答案 1 :(得分:1)

TextView可以通过spannable字符串处理“更改格式,字体大小和字体的能力”。有关您可以应用的各种效果,请参阅android.text.style包。

就“大量文字”而言,将TextView包裹在ScrollView

您可以随时使用WebView,如果需要,它可以提供完整的WebKit功能来呈现HTML。