前面的Android画图学习总结的系列中,我们分别学习了Bitmap、Drawable、Aniamtion,除了这些画图元素之外,开发应用程序使用最多的还是String(字符串),下面我们就如何显示String详细的说明。
引用Android SDK中显示String的函数,列举如下:
drawText(String text, int start, int end, float x, float y, Paint paint) |
Draw the text, with origin at (x,y), using the specified paint. |
void drawText(char[] text, int index, int count, float x, float y, Paint paint) |
Draw the text, with origin at (x,y), using the specified paint. |
void drawText(String text, float x, float y, Paint paint) |
Draw the text, with origin at (x,y), using the specified paint. |
void drawText(CharSequence text, int start, int end, float x, float y, Paint paint) |
Draw the specified range of text, specified by start/end, with its origin at (x,y), in the specified Paint. |
void drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint) |
Draw the text, with origin at (x,y), using the specified paint, along the specified path. |
void drawTextOnPath(char[] text, int index, int count, Path path, float hOffset, float vOffset, Paint paint) |
Draw the text, with origin at (x,y), using the specified paint, along the specified path. |
在所有的函数中,参数主要分为3部分:字符串(String、char、CharSequence),长度(start—end、index—count),如何显示String(paint)。前2个参数一看就明白,这里我们主要介绍第3个参数Paint paint。
首先,什么是Paint?
引用Android SDK 中的说明,Paint类包含样式和颜色有关如何绘制几何形状,文本和位图的信息。Canvas是一块画布,具体的文本和位图如何显示,这就是在Paint类中定义了。
然后,Paint有哪些功能?
在了解Paint的功能前,我们按照Word文档的功能,说明下对String的显示,有影响的因素有哪些?字体、大小(TextSize)、颜色 (TextColor)、对齐方式(TextAlign)、粗体(Bold)、斜体(Italic)、下划线(Underline)等,下面我们就按照这 些影响String显示的因素,结合Android SDK中Paint类的介绍,详细说明Paint类有哪些功能。
在Android SDK中使用Typeface类来定义字体,Typeface类:指定字体和字体的固有风格,用于Paint,类似于Paint的其他 textSize,textSkewX,textScaleX一样,来说明如何绘制文本。归纳起来,Typeface类主要包括以下3个方面:
- 一些常量的定义(BOLD,BOLD_ITALIC,ITALIC,NORMAL)
- 常量字体的定义:
字体(Typeface) |
说明 |
DEFAULT |
The default NORMAL typeface object |
DEFAULT_BOLD |
The default BOLD typeface object. |
MONOSPACE |
The NORMAL style of the default monospace typeface. |
SANS_SERIF |
The NORMAL style of the default sans serif typeface. |
SERIF |
The NORMAL style of the default serif typeface. |
这些常量字体,在程序中是可以直接使用的,例如:Typeface. SERIF
- 函数:创建字体(Create()),获取字体属性(getStyle()、isBold()、isItalic());
Typeface类不仅定义了字体,还包括粗体(Bold)、斜体(Italic)。
其它对显示String有影响的因素,我们都可以在Paint类中找到它们的影子,如下:
类型
|
功能
|
Paint中的相关操作
|
Typeface |
字体 |
Typeface setTypeface(Typeface typeface) Typeface getTypeface() |
class Paint.Align |
对齐方式 |
setTextAlign(Paint.Align align) Paint.Align getTextAlign() |
|
字体大小 |
int getTextSize() setTextSize(float textSize) |
|
颜色 |
setColor(int color) int getColor() |
|
下划线 |
boolean isUnderlineText() setUnderlineText(boolean underlineText) |
看了这些,想必大家对Paint类也有些基本的了解,实际上在Paint类中还有其他一些功能,比如说Alpha、Dither等,这些也只有大家去Android SDK中仔细阅读了,由于篇幅有限,就不在此详细说明。
最后,如何使用Paint显示String?
实际上,在前面的一些篇幅中的例子程序中都使用了Paint类,在Android画图学习总结(二)——Bitmap例子的基础上修改下,说明如何使用Paint,如下: public void onDraw(Canvas canvas) { super.onDraw(canvas); Paint p = new Paint(); String familyName = “宋体”; Typeface font = Typeface.create(familyName,Typeface.BOLD); p.setColor(Color.RED); p.setTypeface(font); p.setTextSize(22); canvas.drawText(mstrTitle,0,100,p); } 程序运行后,界面显示如下:
总结说明
String是我们开发应用程序最经常处理的数据,如何显示String是开发应用程序最基本的要求,在这里我只是抛砖引玉下,简要介绍了Paint类,更加深入的学习请大家到Android SDK中去详细阅读吧!
http://hi.baidu.com/lfcaolibin/blog/item/c6937ad7d9e4202407088ba6.html
|
相关推荐
根据给定文件的信息,本文将对Android绘画技术中的Paint组件进行深入探讨,并总结其关键知识点。Paint在Android绘画中扮演着至关重要的角色,它不仅控制了绘制文本、形状的颜色和风格,还支持复杂的绘画效果。 ### ...
最后,【Android画图学习总结(五)——Paint.doc】探讨了Paint类。Paint是Android绘图中的关键元素,它定义了绘制时的颜色、风格、字体等属性。例如,可以设置颜色模式(ColorMode),选择不同的刷子样式...
本资源“安卓Android源码——画图程序源码.zip”提供了这样一个应用的源代码,帮助开发者理解和实现自定义画布功能。 首先,让我们探讨一下Android中的画图机制。Android提供了一个名为`Canvas`的类,它是绘画的...
这个"Android源码——画图程序源码.zip"文件包含了一个简单的Android应用程序,它允许用户在屏幕上自由绘制图形。通过分析这个源码,我们可以深入理解Android图形系统、触摸事件处理以及自定义View的机制。 首先,...
总之,这个"画图"应用的源代码涵盖了Android图形系统的核心概念和技术,对于想要学习Android应用开发,尤其是涉及图形绘制和用户交互的开发者来说,是一份宝贵的学习资源。通过深入研究和实践,可以进一步提升开发...
下面,我们将深入探讨Android画图工具的实现原理及其相关的知识点。 1. **Canvas与Paint**: Android中的`Canvas`是绘画的基础,它提供了在Bitmap或者屏幕上的图形绘制能力。`Paint`对象则控制了绘制的样式,如颜色...
在Android平台上,画图功能是通过Canvas类和相关的图形API实现的,这使得开发者能够创建丰富的自定义视图和交互式图形界面。本压缩包"android 画图集合.zip"包含多个示例项目,旨在帮助开发者深入理解Android图形...
这份"Android源码——画图工具源码.zip"提供了实现此类应用的具体代码,让我们来深入探讨其中所涵盖的知识点。 1. **Android图形系统**:Android使用SurfaceView或者Canvas来支持实时的图形绘制。SurfaceView是...
这份“安卓Android源码——画图工具源码.zip”压缩包提供了一个实现此类功能的源代码示例。通过分析和学习这份源码,我们可以了解如何在Android上构建一个简单的画图应用。 首先,我们要明白Android应用的基本架构...
总结,这个"安卓Android源码——使用代码绘制一个电池 (非图片)"的示例,旨在教开发者如何利用Android的图形绘制API来自定义复杂UI组件,不仅提升了用户体验,也锻炼了开发者对底层图形绘制的理解和掌控能力。...
这份"Android源码——火焰效果程序源码_new_55.zip"压缩包提供了实现这一特效的源代码,帮助开发者深入理解如何在Android应用中创建动态、逼真的火焰动画。下面,我们将详细探讨与这个项目相关的Android开发知识点。...
这篇内容将深入解析《安卓Android源码——纯Java编写2D坦克小游戏》的相关知识点,主要涉及以下几个方面: 1. **Android开发环境**:首先,这个项目是基于Android平台的,这意味着你需要一个完整的Android Studio...
Android绘图的核心在于`Canvas`和`Paint`对象。`Canvas`可以看作是画布,它提供了各种绘制几何形状、文本和位图的方法。`Paint`则作为画笔,定义了颜色、样式和字体等绘制属性。`Layer`则是管理这些绘制操作的一种...
这个压缩包文件"安卓Android源码——(添加自定义多边形).rar"显然是提供了一个关于如何在Android应用中创建自定义多边形的示例代码。 1. **自定义View**: 在Android中,我们通常通过继承`View`或`ViewGroup`类来自...
在安卓(Android)平台上开发应用时,我们经常会遇到需要实现用户交互、绘制图形的需求,比如创建一个涂鸦应用或者画图工具。这个“安卓Android源码——一个涂鸦还有画矩形 圆形的小Demo.zip”就是这样一个示例,它...
在Android中,可以使用`Paint`类的`setShadowLayer()`方法来为图形添加阴影效果。这个方法接受四个参数:浮点型的阴影半径、阴影偏移量的X轴值、阴影偏移量的Y轴值和阴影颜色。阴影半径决定了阴影的模糊程度,偏移...
在安卓(Android)平台上开发应用时,我们经常会遇到需要实现画笔(Pen)和橡皮擦(Eraser)功能的情况,比如在画图应用或手写笔记应用中。本示例是一个基于Android的源码Demo,它展示了如何在Android应用程序中实现...