到目前为止,我的博客文章主要围绕着objective-c中的iOS编程。有一些关于C # 的帖子,但是他们更多的是关于从C # 到objective-c的切换。
然而,在过去的一年里,我一直在iOS和Android开发之间平均分配我的时间。
由于越来越多的移动应用程序开发人员同时支持这两个平台,我想为什么不博客两个平台!
这一系列帖子将围绕在两个平台上绘制各种东西。你会惊喜地发现两者实际上非常相似!
第4部分-文本
第4部分-文本
最后,让我们学习如何绘制文本!
这是iOS和Android差异最大的地方。他们曾经更亲密,但iOS在绘制文本时采用了不同的方式。事实上,他们有一个更低水平的绘制文本,我们不打算使用他们的TextKit框架。出于本文的目的,我们将介绍绘制文本的基本方法。
首先要注意的是,Android和iOS使用两种不同类型的字体对象。在iOS中,您可以创建一个接受字体名称和大小的UIFont对象。在android中,我们创建一个Typeface对象,不需要大小。相反,我们在paint对象上设置字体大小。
iOS系统
UIFont * font = [UIFont fontWithName:@ “Avenir” size:12];
[@ “Hello World” drawAtPoint:CGPointMake(0, 0) withAttributes :@{ NSFontAttributeName:font, NSForegroundColorAttributeName: [UIColor blackColor]}];
Android系统
Paint paint = new Paint();
Typeface font = Typeface.create(“Avenir”, Typeface.NORMAL);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.FILL);
paint.setTextSize(12);
paint.setTypeface(font);
paint.setAntiAlias(true);
canvas.drawText(“Hello World”, 0, 0, paint);
所以让我们更仔细地看看这个。
在iOS中。我们实际上是在NSString中调用一个方法。该方法需要2个参数。
1.绘制文本的位置。
2.描述如何绘制文本的字典。
在字典中,我们设置文本颜色和字体。重要的是要注意,这个调用仍然需要使用活动的CGContext来完成。你只是不需要引用它,因为它会找到上下文本身。
在Android中,它基本上与绘制其他任何东西一样。我们首先创建一个paint对象。并设置颜色和字体和文本大小,然后调用绘制画布。
drawText方法采用字符串、要在其上绘制文本的点以及绘制。
就是这样!
希望这是有帮助的。
史蒂芬·扎哈鲁克 (SteveZ)