Most visited

Recently visited

Added in API level 1

Paint

public class Paint
extends Object

java.lang.Object
   ↳ android.graphics.Paint
Known Direct Subclasses


Paint类保存关于如何绘制几何图形,文本和位图的样式和颜色信息。

Summary

Nested classes

枚举 Paint.Align

对齐指定drawText如何将文本相对于[x,y]坐标对齐。

枚举 Paint.Cap

Cap规定了描边线和路径的开始和结束的处理。

class Paint.FontMetrics

描述给定文本大小的字体的各种度量的类。

class Paint.FontMetricsInt

调用者需要将FontMetrics值设置为整数的便捷方法。

枚举 Paint.Join

连接指定线条和曲线段在描边路径上连接的处理。

枚举 Paint.Style

样式指定正在绘制的图元是填充,描边还是两者(以相同颜色)。

Constants

int ANTI_ALIAS_FLAG

绘制时启用抗锯齿功能的绘制标志。

int DEV_KERN_TEXT_FLAG

遗留涂料标志,不再使用。

int DITHER_FLAG

在blitting时启用抖动的Paint标志。

int EMBEDDED_BITMAP_TEXT_FLAG

绘制标记,可在绘制文本时使用位图字体。

int FAKE_BOLD_TEXT_FLAG

将合成粗体效果应用于绘制文本的Paint标志。

int FILTER_BITMAP_FLAG

Paint标志,用于在缩放的位图上启用双线性采样。

int HINTING_OFF

禁用字体提示的字体提示选项。

int HINTING_ON

允许字体提示的字体提示选项。

int LINEAR_TEXT_FLAG

Paint标志,可以平滑线性缩放文本。

int STRIKE_THRU_TEXT_FLAG

将绘制文字应用于透视修饰的Paint标志。

int SUBPIXEL_TEXT_FLAG

Paint标志使文本的子像素定位。

int UNDERLINE_TEXT_FLAG

将绘制文本应用下划线装饰的Paint标志。

Public constructors

Paint()

用默认设置创建一个新的绘图。

Paint(int flags)

用指定的标志创建一个新的绘画。

Paint(Paint paint)

创建一个新的绘图,使用指定的绘图参数中的属性进行初始化。

Public methods

float ascent()

基于当前的字体和文字大小,返回上面的距离(负值)基线(上升)。

int breakText(char[] text, int index, int count, float maxWidth, float[] measuredWidth)

测量文本,如果测量的宽度超过maxWidth,则提前停止。

int breakText(String text, boolean measureForwards, float maxWidth, float[] measuredWidth)

测量文本,如果测量的宽度超过maxWidth,则提前停止。

int breakText(CharSequence text, int start, int end, boolean measureForwards, float maxWidth, float[] measuredWidth)

测量文本,如果测量的宽度超过maxWidth,则提前停止。

void clearShadowLayer()

清除阴影图层。

float descent()

基于当前字体和文字大小,返回基线(下降)下方(正)的距离。

int getAlpha()

Helper getColor()返回颜色的alpha值。

int getColor()

返回油漆的颜色。

ColorFilter getColorFilter()

获取paint的colorfilter(可能为null)。

boolean getFillPath(Path src, Path dst)

将任何/所有效果(patheffect,stroking)应用于src,并将结果返回到dst。

int getFlags()

返回油漆的标志。

String getFontFeatureSettings()

返回字体功能设置。

float getFontMetrics(Paint.FontMetrics metrics)

给定油漆的字体设置,textSize等等,返回字体推荐的行间距。

Paint.FontMetrics getFontMetrics()

分配一个新的FontMetrics对象,然后调用getFontMetrics(fm),返回该对象。

int getFontMetricsInt(Paint.FontMetricsInt fmi)

返回字体的行间距,给定油漆的字体设置,textSize等。

Paint.FontMetricsInt getFontMetricsInt()
float getFontSpacing()

根据当前的字体和文字大小返回建议的行间距。

int getHinting()

返回油漆的提示模式。

float getLetterSpacing()

为文本返回油漆的字母间距。

MaskFilter getMaskFilter()

获取paint的maskfilter对象。

int getOffsetForAdvance(char[] text, int start, int end, int contextStart, int contextEnd, boolean isRtl, float advance)

获取位置与指定水平位置最接近的字符串中的字符偏移量。

int getOffsetForAdvance(CharSequence text, int start, int end, int contextStart, int contextEnd, boolean isRtl, float advance)
PathEffect getPathEffect()

获取涂料的困惑对象。

Rasterizer getRasterizer()

此方法在API级别21中已弃用.Rasterizer不受HW或PDF后端的支持。

float getRunAdvance(char[] text, int start, int end, int contextStart, int contextEnd, boolean isRtl, int offset)

在一段文字中测量光标位置。

float getRunAdvance(CharSequence text, int start, int end, int contextStart, int contextEnd, boolean isRtl, int offset)
Shader getShader()

获取涂料的着色器对象。

Paint.Cap getStrokeCap()

返回paint的Cap,控制如何处理描边线条和路径的开始和结束。

Paint.Join getStrokeJoin()

返回绘画的笔画连接类型。

float getStrokeMiter()

返回涂料的笔触斜角值。

float getStrokeWidth()

抚摸抚摸的宽度。

Paint.Style getStyle()

返回paint的样式,用于控制原语几何的解释方式(除了drawBitmap,它总是假定为FILL_STYLE)。

Paint.Align getTextAlign()

返回绘制文本的颜色对齐值。

void getTextBounds(String text, int start, int end, Rect bounds)

返回边界(由调用者分配)包含所有字符的最小矩形,其中隐含的原点为(0,0)。

void getTextBounds(char[] text, int index, int count, Rect bounds)

返回边界(由调用者分配)包含所有字符的最小矩形,其中隐含的原点为(0,0)。

Locale getTextLocale()

获取文本的主要区域设置。

LocaleList getTextLocales()

获取文本区域设置列表。

void getTextPath(char[] text, int index, int count, float x, float y, Path path)

返回指定文本的路径(大纲)。

void getTextPath(String text, int start, int end, float x, float y, Path path)

返回指定文本的路径(大纲)。

float getTextScaleX()

返回文本的油漆水平比例因子。

float getTextSize()

返回油漆的文字大小。

float getTextSkewX()

返回涂料的文字水平偏斜系数。

int getTextWidths(char[] text, int index, int count, float[] widths)

返回字符串中字符的提前宽度。

int getTextWidths(String text, float[] widths)

返回字符串中字符的提前宽度。

int getTextWidths(String text, int start, int end, float[] widths)

返回字符串中字符的提前宽度。

int getTextWidths(CharSequence text, int start, int end, float[] widths)

返回字符串中字符的提前宽度。

Typeface getTypeface()

获取油漆的字体对象。

Xfermode getXfermode()

获取paint的xfermode对象。

boolean hasGlyph(String string)

确定绘画上设置的字体是否具有支持该字符串的字形。

final boolean isAntiAlias()

Helper for getFlags(),如果设置了ANTI_ALIAS_FLAG位,则返回true AntiAliasing平滑正在绘制的边缘,但对形状内部没有影响。

final boolean isDither()

Helper for getFlags(),如果设置了DITHER_FLAG位,则返回true抖动会影响比设备更高精度的颜色如何下采样。

boolean isElegantTextHeight()

获取优雅的度量标志。

final boolean isFakeBoldText()

用于getFlags()的助手,如果设置了FAKE_BOLD_TEXT_FLAG位,则返回true

final boolean isFilterBitmap()

位图过滤器是否被激活。

final boolean isLinearText()

Helper for getFlags(),如果设置了LINEAR_TEXT_FLAG位,则返回true

final boolean isStrikeThruText()

Helper for getFlags(),如果设置了STRIKE_THRU_TEXT_FLAG位,则返回true

final boolean isSubpixelText()

Helper for getFlags(),如果设置了SUBPIXEL_TEXT_FLAG位,则返回true

final boolean isUnderlineText()

Helper for getFlags(),如果UNDERLINE_TEXT_FLAG位置位,则返回true

float measureText(char[] text, int index, int count)

返回文本的宽度。

float measureText(CharSequence text, int start, int end)

返回文本的宽度。

float measureText(String text, int start, int end)

返回文本的宽度。

float measureText(String text)

返回文本的宽度。

void reset()

将绘图恢复到其默认设置。

void set(Paint src)

将来自src的字段复制到此画图中。

void setARGB(int a, int r, int g, int b)

Helper to setColor(),它使用a,r,g,b和构造颜色int

void setAlpha(int a)

Helper to setColor(),只分配颜色的alpha值,保持其r,g,b值不变。

void setAntiAlias(boolean aa)

用于setFlags()的帮助器,设置或清除ANTI_ALIAS_FLAG位AntiAliasing平滑正在绘制的边缘,但对形状内部没有影响。

void setColor(int color)

设置油漆的颜色。

ColorFilter setColorFilter(ColorFilter filter)

设置或清除涂料的颜色过滤器,返回参数。

void setDither(boolean dither)

Helper for setFlags(),设置或清除DITHER_FLAG位抖动会影响比设备更高精度的颜色如何下采样。

void setElegantTextHeight(boolean elegant)

设置油漆的高雅度量标志。

void setFakeBoldText(boolean fakeBoldText)

帮助器setFlags(),设置或清除FAKE_BOLD_TEXT_FLAG位

void setFilterBitmap(boolean filter)

Helper用于setFlags(),设置或清除FILTER_BITMAP_FLAG位。

void setFlags(int flags)

设置油漆的标志。

void setFontFeatureSettings(String settings)

设置字体功能设置。

void setHinting(int mode)

设置绘画的提示模式。

void setLetterSpacing(float letterSpacing)

为文本设置油漆的字母间距。

void setLinearText(boolean linearText)

帮助器setFlags(),设置或清除LINEAR_TEXT_FLAG位

MaskFilter setMaskFilter(MaskFilter maskfilter)

设置或清除maskfilter对象。

PathEffect setPathEffect(PathEffect effect)

设置或清除patheffect对象。

Rasterizer setRasterizer(Rasterizer rasterizer)

此方法在API级别21中已弃用.Rasterizer不受HW或PDF后端的支持。

Shader setShader(Shader shader)

设置或清除着色器对象。

void setShadowLayer(float radius, float dx, float dy, int shadowColor)

这会在主图层下绘制一个阴影图层,具有指定的偏移和颜色以及模糊半径。

void setStrikeThruText(boolean strikeThruText)

帮助器setFlags(),设置或清除STRIKE_THRU_TEXT_FLAG位

void setStrokeCap(Paint.Cap cap)

设置油漆的帽子。

void setStrokeJoin(Paint.Join join)

设置涂料的加入。

void setStrokeMiter(float miter)

设置涂料的笔触斜角值。

void setStrokeWidth(float width)

设置抚摸的宽度。

void setStyle(Paint.Style style)

设置油漆的风格,用于控制原始图的几何形状是如何解释的(除了drawBitmap,它总是假定为Fill)。

void setSubpixelText(boolean subpixelText)

帮助器setFlags(),设置或清除SUBPIXEL_TEXT_FLAG位

void setTextAlign(Paint.Align align)

设置涂料的文字对齐。

void setTextLocale(Locale locale)

将文本语言环境列表设置为仅包含语言环境的一个成员列表。

void setTextLocales(LocaleList locales)

设置文本区域设置列表。

void setTextScaleX(float scaleX)

为文本设置油漆的水平比例因子。

void setTextSize(float textSize)

设置颜料的文字大小。

void setTextSkewX(float skewX)

为文字设置涂料的水平偏斜系数。

Typeface setTypeface(Typeface typeface)

设置或清除字体对象。

void setUnderlineText(boolean underlineText)

帮助器setFlags(),设置或清除UNDERLINE_TEXT_FLAG位

Xfermode setXfermode(Xfermode xfermode)

设置或清除xfermode对象。

Inherited methods

From class java.lang.Object

Constants

ANTI_ALIAS_FLAG

Added in API level 1
int ANTI_ALIAS_FLAG

绘制时启用抗锯齿功能的绘制标志。

启用此标志将导致支持抗锯齿的所有绘制操作使用它。

也可以看看:

常数值:1(0x00000001)

DEV_KERN_TEXT_FLAG

Added in API level 1
int DEV_KERN_TEXT_FLAG

遗留涂料标志,不再使用。

常量值:256(0x00000100)

DITHER_FLAG

Added in API level 1
int DITHER_FLAG

在blitting时启用抖动的Paint标志。

启用此标志将抖动应用于目标的色彩空间比源更受约束的任何blit操作。

也可以看看:

常量值:4(0x00000004)

EMBEDDED_BITMAP_TEXT_FLAG

Added in API level 19
int EMBEDDED_BITMAP_TEXT_FLAG

绘制标记,可在绘制文本时使用位图字体。

禁用此标志将防止文本绘制操作在字体中使用嵌入式位图打击,导致带有可缩放轮廓和位图打击的字体仅绘制可伸缩轮廓线,并且仅带有位图打击的字体根本不绘制。

也可以看看:

常量值:1024(0x00000400)

FAKE_BOLD_TEXT_FLAG

Added in API level 1
int FAKE_BOLD_TEXT_FLAG

将合成粗体效果应用于绘制文本的Paint标志。

启用此标志将导致文本绘制操作在绘制尚未加粗的 Typeface时应用模拟的粗体效果。

也可以看看:

常量值:32(0x00000020)

FILTER_BITMAP_FLAG

Added in API level 1
int FILTER_BITMAP_FLAG

Paint标志,用于在缩放的位图上启用双线性采样。

如果清除,缩放位图将以最近的相邻采样进行绘制,可能会导致伪像。 这通常应该在绘制位图时进行,除非性能受限(渲染到软件画布),或者在显着缩放时更喜欢像素化人为因素模糊。

如果在创建时缩放设备密度的位图(因为通常是资源位图),则过滤将已完成。

也可以看看:

常量值:2(0x00000002)

HINTING_OFF

Added in API level 14
int HINTING_OFF

禁用字体提示的字体提示选项。

也可以看看:

常量值:0(0x00000000)

HINTING_ON

Added in API level 14
int HINTING_ON

允许字体提示的字体提示选项。

也可以看看:

常数值:1(0x00000001)

LINEAR_TEXT_FLAG

Added in API level 1
int LINEAR_TEXT_FLAG

Paint标志,可以平滑线性缩放文本。

启用此标志实际上并不会缩放文本,而是调整文本绘制操作以适度平滑地调整缩放比例。 启用此标志时,将禁用字体提示以防止比例因子之间的形状变形,并且由于将生成大量字形图像,字形缓存将被禁用。

SUBPIXEL_TEXT_FLAG应该与此标志一起使用,以防止字形位置在缩放因子被调整时捕捉到整个像素值。

也可以看看:

常量值:64(0x00000040)

STRIKE_THRU_TEXT_FLAG

Added in API level 1
int STRIKE_THRU_TEXT_FLAG

将绘制文字应用于透视修饰的Paint标志。

也可以看看:

常量值:16(0x00000010)

SUBPIXEL_TEXT_FLAG

Added in API level 1
int SUBPIXEL_TEXT_FLAG

Paint标志使文本的子像素定位。

启用该标志会使字形的前进以子像素精度进行计算。

这可以与 LINEAR_TEXT_FLAG一起使用,以防止文本在平滑过渡过程中抖动。

也可以看看:

常量值:128(0x00000080)

UNDERLINE_TEXT_FLAG

Added in API level 1
int UNDERLINE_TEXT_FLAG

将绘制文本应用下划线装饰的Paint标志。

也可以看看:

常量值:8(0x00000008)

Public constructors

Paint

Added in API level 1
Paint ()

用默认设置创建一个新的绘图。

Paint

Added in API level 1
Paint (int flags)

用指定的标志创建一个新的绘画。 在创建绘画后使用setFlags()更改这些。

Parameters
flags int: initial flag bits, as if they were passed via setFlags().

Paint

Added in API level 1
Paint (Paint paint)

创建一个新的绘图,使用指定的绘图参数中的属性进行初始化。

Parameters
paint Paint: Existing paint used to initialized the attributes of the new paint.

Public methods

ascent

Added in API level 1
float ascent ()

基于当前的字体和文字大小,返回上面的距离(负值)基线(上升)。

Returns
float the distance above (negative) the baseline (ascent) based on the current typeface and text size.

breakText

Added in API level 1
int breakText (char[] text, 
                int index, 
                int count, 
                float maxWidth, 
                float[] measuredWidth)

测量文本,如果测量的宽度超过maxWidth,则提前停止。 返回被测量的字符数,如果measuredWidth不为空,则返回测量的实际宽度。

Parameters
text char: The text to measure. Cannot be null.
index int: The offset into text to begin measuring at
count int: The number of maximum number of entries to measure. If count is negative, then the characters are measured in reverse order.
maxWidth float: The maximum width to accumulate.
measuredWidth float: Optional. If not null, returns the actual width measured.
Returns
int The number of chars that were measured. Will always be <= abs(count).

breakText

Added in API level 1
int breakText (String text, 
                boolean measureForwards, 
                float maxWidth, 
                float[] measuredWidth)

测量文本,如果测量的宽度超过maxWidth,则提前停止。 返回被测量的字符数,如果measuredWidth不为空,则返回测量的实际宽度。

Parameters
text String: The text to measure. Cannot be null.
measureForwards boolean: If true, measure forwards, starting with the first character in the string. Otherwise, measure backwards, starting with the last character in the string.
maxWidth float: The maximum width to accumulate.
measuredWidth float: Optional. If not null, returns the actual width measured.
Returns
int The number of chars that were measured. Will always be <= abs(count).

breakText

Added in API level 1
int breakText (CharSequence text, 
                int start, 
                int end, 
                boolean measureForwards, 
                float maxWidth, 
                float[] measuredWidth)

测量文本,如果测量的宽度超过maxWidth,则提前停止。 返回被测量的字符数,如果measuredWidth不为空,则返回测量的实际宽度。

Parameters
text CharSequence: The text to measure. Cannot be null.
start int: The offset into text to begin measuring at
end int: The end of the text slice to measure.
measureForwards boolean: If true, measure forwards, starting at start. Otherwise, measure backwards, starting with end.
maxWidth float: The maximum width to accumulate.
measuredWidth float: Optional. If not null, returns the actual width measured.
Returns
int The number of chars that were measured. Will always be <= abs(end - start).

clearShadowLayer

Added in API level 1
void clearShadowLayer ()

清除阴影图层。

descent

Added in API level 1
float descent ()

基于当前字体和文字大小,返回基线(下降)下方(正)的距离。

Returns
float the distance below (positive) the baseline (descent) based on the current typeface and text size.

getAlpha

Added in API level 1
int getAlpha ()

Helper getColor()返回颜色的alpha值。 这与调用getColor()>>> 24.它始终返回0(完全透明)和255(完全不透明)之间的值。

Returns
int the alpha component of the paint's color.

getColor

Added in API level 1
int getColor ()

返回油漆的颜色。 请注意,颜色是包含alpha以及r,g,b的32位值。 该32位值不是预乘,意味着它的alpha可以是任何值,而不管r,g,b的值如何。 有关更多详细信息,请参阅Color类。

Returns
int the paint's color (and alpha).

getColorFilter

Added in API level 1
ColorFilter getColorFilter ()

获取paint的colorfilter(可能为null)。

Returns
ColorFilter the paint's colorfilter (maybe be null)

getFillPath

Added in API level 1
boolean getFillPath (Path src, 
                Path dst)

将任何/所有效果(patheffect,stroking)应用于src,并将结果返回到dst。 结果是使用这个绘图绘制src将与使用默认绘制(至少从几何透视图)绘制dst相同。

Parameters
src Path: input path
dst Path: output path (may be the same as src)
Returns
boolean true if the path should be filled, or false if it should be drawn with a hairline (width == 0)

getFlags

Added in API level 1
int getFlags ()

返回油漆的标志。 使用Flag枚举来测试标志值。

Returns
int the paint's flags (see enums ending in _Flag for bit masks)

getFontFeatureSettings

Added in API level 21
String getFontFeatureSettings ()

返回字体功能设置。 格式与CSS font-feature-settings属性相同: http://dev.w3.org/csswg/css-fonts/#propdef-font-feature-settings

Returns
String the paint's currently set font feature settings. Default is null.

也可以看看:

getFontMetrics

Added in API level 1
float getFontMetrics (Paint.FontMetrics metrics)

给定字体的油漆设置,textSize等,返回字体推荐的行间距。如果指标不为空,则返回其中的字体值。

Parameters
metrics Paint.FontMetrics: If this object is not null, its fields are filled with the appropriate values given the paint's text attributes.
Returns
float the font's recommended interline spacing.

getFontMetrics

Added in API level 1
Paint.FontMetrics getFontMetrics ()

分配一个新的FontMetrics对象,然后调用getFontMetrics(fm),返回该对象。

Returns
Paint.FontMetrics

getFontMetricsInt

Added in API level 1
int getFontMetricsInt (Paint.FontMetricsInt fmi)

给定字体的Paint设置,textSize等,返回字体的行间距。如果指标不为null,则返回字体值。 注意:所有的值已经从浮点数转换为整数,这样必须使得这些答案对间距和剪切都有用。 如果您想要更多地控制四舍五入,请调用getFontMetrics()。

Parameters
fmi Paint.FontMetricsInt
Returns
int the font's interline spacing.

getFontMetricsInt

Added in API level 1
Paint.FontMetricsInt getFontMetricsInt ()

Returns
Paint.FontMetricsInt

getFontSpacing

Added in API level 1
float getFontSpacing ()

根据当前的字体和文字大小返回建议的行间距。

Returns
float recommend line spacing based on the current typeface and text size.

getHinting

Added in API level 14
int getHinting ()

返回油漆的提示模式。 返回HINTING_OFFHINTING_ON

Returns
int

getLetterSpacing

Added in API level 21
float getLetterSpacing ()

为文本返回油漆的字母间距。 默认值是0。

Returns
float the paint's letter-spacing for drawing text.

getMaskFilter

Added in API level 1
MaskFilter getMaskFilter ()

获取paint的maskfilter对象。

Returns
MaskFilter the paint's maskfilter (or null)

getOffsetForAdvance

Added in API level 23
int getOffsetForAdvance (char[] text, 
                int start, 
                int end, 
                int contextStart, 
                int contextEnd, 
                boolean isRtl, 
                float advance)

获取位置与指定水平位置最接近的字符串中的字符偏移量。

返回的值通常为的值offset为其getRunAdvance(char[], int, int, int, int, boolean, int)产生一个结果最接近地逼近advance ,并且这也是一个字形簇边界上。 如此,响应于触摸或指针事件而定位光标是优选的方法。 字形群集边界基于Unicode Standard Annex #29,但具有一些剪裁以获得更好的用户体验。

请注意,相对于运行的开始, advance是一个(通常为正数)宽度测量值。 因此,对于RTL运行它从点到右边的距离。

所有指数text对于text 此外, 0 <= contextStart <= start <= end <= contextEnd <= text.length必须持有入场券,并且start <= result <= end将持有回报。

Parameters
text char: the text to measure. Cannot be null.
start int: the index of the start of the range to measure
end int: the index + 1 of the end of the range to measure
contextStart int: the index of the start of the shaping context
contextEnd int: the index + 1 of the end of the range to measure
isRtl boolean: whether the run is in RTL direction
advance float: width relative to start of run
Returns
int index of offset

getOffsetForAdvance

Added in API level 23
int getOffsetForAdvance (CharSequence text, 
                int start, 
                int end, 
                int contextStart, 
                int contextEnd, 
                boolean isRtl, 
                float advance)

Parameters
text CharSequence: the text to measure. Cannot be null.
start int: the index of the start of the range to measure
end int: the index + 1 of the end of the range to measure
contextStart int: the index of the start of the shaping context
contextEnd int: the index + 1 of the end of the range to measure
isRtl boolean: whether the run is in RTL direction
advance float: width relative to start of run
Returns
int index of offset

也可以看看:

getPathEffect

Added in API level 1
PathEffect getPathEffect ()

获取涂料的困惑对象。

Returns
PathEffect the paint's patheffect (or null)

getRasterizer

Added in API level 1
Rasterizer getRasterizer ()

此方法在API级别21中已弃用。
Rasterizer不受HW或PDF后端的支持。

获取paint的光栅化器(或null)。

The raster controls/modifies how paths/text are turned into alpha masks.

Returns
Rasterizer the paint's rasterizer (or null)

getRunAdvance

Added in API level 23
float getRunAdvance (char[] text, 
                int start, 
                int end, 
                int contextStart, 
                int contextEnd, 
                boolean isRtl, 
                int offset)

在一段文字中测量光标位置。

文本运行包括文本中从startend的字符。 另外,范围contextStartcontextEnd被用作复杂文本整形目的的上下文,例如阿拉伯文本可能根据其旁边的文本而有不同的形状。

范围contextStart..contextEnd之外的所有文本都将被忽略。 startend之间的文本将被布置为被测量。

返回的宽度度量值是从startoffset 无论运行方向如何,它通常都是一个正值。 如果为offset == end ,则返回值仅为整个运行的宽度,从startend

连字形成范围为start..end (但不适用于start..contextStartend..contextEnd )的end..contextEnd 如果offset指向这样一个形成的连字符中间的字符,但是在字形群边界处,返回值也将反映连字中间的前进。 有关getOffsetForAdvance(char[], int, int, int, int, boolean, float)集群边界的更多讨论,请参见getOffsetForAdvance(char[], int, int, int, int, boolean, float)

运行的方向由isRtl明确指定。 因此,这种方法仅适用于单一方向的运行。

所有指数text对于text 此外, 0 <= contextStart <= start <= offset <= end <= contextEnd <= text.length必须持有进入。

Parameters
text char: the text to measure. Cannot be null.
start int: the index of the start of the range to measure
end int: the index + 1 of the end of the range to measure
contextStart int: the index of the start of the shaping context
contextEnd int: the index + 1 of the end of the shaping context
isRtl boolean: whether the run is in RTL direction
offset int: index of caret position
Returns
float width measurement between start and offset

getRunAdvance

Added in API level 23
float getRunAdvance (CharSequence text, 
                int start, 
                int end, 
                int contextStart, 
                int contextEnd, 
                boolean isRtl, 
                int offset)

Parameters
text CharSequence: the text to measure. Cannot be null.
start int: the index of the start of the range to measure
end int: the index + 1 of the end of the range to measure
contextStart int: the index of the start of the shaping context
contextEnd int: the index + 1 of the end of the shaping context
isRtl boolean: whether the run is in RTL direction
offset int: index of caret position
Returns
float width measurement between start and offset

也可以看看:

getShader

Added in API level 1
Shader getShader ()

获取涂料的着色器对象。

Returns
Shader the paint's shader (or null)

getStrokeCap

Added in API level 1
Paint.Cap getStrokeCap ()

返回paint的Cap,控制如何处理描边线条和路径的开始和结束。

Returns
Paint.Cap the line cap style for the paint, used whenever the paint's style is Stroke or StrokeAndFill.

getStrokeJoin

Added in API level 1
Paint.Join getStrokeJoin ()

返回绘画的笔画连接类型。

Returns
Paint.Join the paint's Join.

getStrokeMiter

Added in API level 1
float getStrokeMiter ()

返回涂料的笔触斜角值。 用于控制连接角度尖锐时的斜接连接的行为。

Returns
float the paint's miter limit, used whenever the paint's style is Stroke or StrokeAndFill.

getStrokeWidth

Added in API level 1
float getStrokeWidth ()

抚摸抚摸的宽度。

A value of 0 strokes in hairline mode. Hairlines always draws a single pixel independent of the canva's matrix.

Returns
float the paint's stroke width, used whenever the paint's style is Stroke or StrokeAndFill.

getStyle

Added in API level 1
Paint.Style getStyle ()

返回paint的样式,用于控制原语几何的解释方式(除了drawBitmap,它总是假定为FILL_STYLE)。

Returns
Paint.Style the paint's style setting (Fill, Stroke, StrokeAndFill)

getTextAlign

Added in API level 1
Paint.Align getTextAlign ()

返回绘制文本的颜色对齐值。 这控制了文本相对于其原点的位置。 左对齐意味着所有文本都将被绘制到其原点的右侧(即原点指定了文本的左边缘),依此类推。

Returns
Paint.Align the paint's Align value for drawing text.

getTextBounds

Added in API level 1
void getTextBounds (String text, 
                int start, 
                int end, 
                Rect bounds)

返回边界(由调用者分配)包含所有字符的最小矩形,其中隐含的原点为(0,0)。

Parameters
text String: String to measure and return its bounds
start int: Index of the first char in the string to measure
end int: 1 past the last char in the string measure
bounds Rect: Returns the unioned bounds of all the text. Must be allocated by the caller.

getTextBounds

Added in API level 1
void getTextBounds (char[] text, 
                int index, 
                int count, 
                Rect bounds)

返回边界(由调用者分配)包含所有字符的最小矩形,其中隐含的原点为(0,0)。

Parameters
text char: Array of chars to measure and return their unioned bounds
index int: Index of the first char in the array to measure
count int: The number of chars, beginning at index, to measure
bounds Rect: Returns the unioned bounds of all the text. Must be allocated by the caller.

getTextLocale

Added in API level 17
Locale getTextLocale ()

获取文本的主要区域设置。 请注意,这不是Paint所有的语言环境相关信息。 使用getTextLocales()获取完整列表。

Returns
Locale the paint's primary Locale used for drawing text, never null.

getTextLocales

Added in API level 24
LocaleList getTextLocales ()

获取文本区域设置列表。

Returns
LocaleList the paint's LocaleList used for drawing text, never null or empty.

getTextPath

Added in API level 1
void getTextPath (char[] text, 
                int index, 
                int count, 
                float x, 
                float y, 
                Path path)

返回指定文本的路径(大纲)。 注意:就像Canvas.drawText一样,这将遵循绘画中的对齐设置。

Parameters
text char: The text to retrieve the path from
index int: The index of the first character in text
count int: The number of characterss starting with index
x float: The x coordinate of the text's origin
y float: The y coordinate of the text's origin
path Path: The path to receive the data describing the text. Must be allocated by the caller.

getTextPath

Added in API level 1
void getTextPath (String text, 
                int start, 
                int end, 
                float x, 
                float y, 
                Path path)

返回指定文本的路径(大纲)。 注意:就像Canvas.drawText一样,这将遵循绘画中的对齐设置。

Parameters
text String: The text to retrieve the path from
start int: The first character in the text
end int: 1 past the last charcter in the text
x float: The x coordinate of the text's origin
y float: The y coordinate of the text's origin
path Path: The path to receive the data describing the text. Must be allocated by the caller.

getTextScaleX

Added in API level 1
float getTextScaleX ()

返回文本的油漆水平比例因子。 默认值是1.0。

Returns
float the paint's scale factor in X for drawing/measuring text

getTextSize

Added in API level 1
float getTextSize ()

返回油漆的文字大小。

Returns
float the paint's text size.

getTextSkewX

Added in API level 1
float getTextSkewX ()

返回涂料的文字水平偏斜系数。 默认值是0。

Returns
float the paint's skew factor in X for drawing text.

getTextWidths

Added in API level 1
int getTextWidths (char[] text, 
                int index, 
                int count, 
                float[] widths)

返回字符串中字符的提前宽度。

Parameters
text char: The text to measure. Cannot be null.
index int: The index of the first char to to measure
count int: The number of chars starting with index to measure
widths float: array to receive the advance widths of the characters. Must be at least a large as count.
Returns
int the actual number of widths returned.

getTextWidths

Added in API level 1
int getTextWidths (String text, 
                float[] widths)

返回字符串中字符的提前宽度。

Parameters
text String: The text to measure
widths float: array to receive the advance widths of the characters. Must be at least a large as the text.
Returns
int the number of code units in the specified text.

getTextWidths

Added in API level 1
int getTextWidths (String text, 
                int start, 
                int end, 
                float[] widths)

返回字符串中字符的提前宽度。

Parameters
text String: The text to measure. Cannot be null.
start int: The index of the first char to to measure
end int: The end of the text slice to measure
widths float: array to receive the advance widths of the characters. Must be at least a large as the text.
Returns
int the number of code units in the specified text.

getTextWidths

Added in API level 1
int getTextWidths (CharSequence text, 
                int start, 
                int end, 
                float[] widths)

返回字符串中字符的提前宽度。

Parameters
text CharSequence: The text to measure. Cannot be null.
start int: The index of the first char to to measure
end int: The end of the text slice to measure
widths float: array to receive the advance widths of the characters. Must be at least a large as (end - start).
Returns
int the actual number of widths returned.

getTypeface

Added in API level 1
Typeface getTypeface ()

获取油漆的字体对象。

The typeface object identifies which font to use when drawing or measuring text.

Returns
Typeface the paint's typeface (or null)

getXfermode

Added in API level 1
Xfermode getXfermode ()

获取paint的xfermode对象。

Returns
Xfermode the paint's xfermode (or null)

hasGlyph

Added in API level 23
boolean hasGlyph (String string)

确定绘画上设置的字体是否具有支持该字符串的字形。 最简单的情况是当字符串包含单个字符时,其中此方法确定字体是否具有该字符。 在多个字符的情况下,如果存在表示连字的单个字形,则该方法返回true。 例如,如果输入是一对区域指示符号,请确定该对是否存在表情符号标志。

最后,如果字符串包含变体选择器,则该方法仅在字体包含特定于该变体的字形时返回true。

检查是在整个回退链上完成的,而不仅仅是引用的直接字体。

Parameters
string String: the string to test whether there is glyph support
Returns
boolean true if the typeface has a glyph for the string

isAntiAlias

Added in API level 1
boolean isAntiAlias ()

Helper for getFlags(),如果设置了ANTI_ALIAS_FLAG位,则返回true AntiAliasing平滑正在绘制的边缘,但对形状内部没有影响。 请参阅setDither()和setFilterBitmap()以影响颜色的处理方式。

Returns
boolean true if the antialias bit is set in the paint's flags.

isDither

Added in API level 1
boolean isDither ()

Helper for getFlags(),如果设置了DITHER_FLAG位,则返回true抖动会影响比设备更高精度的颜色如何下采样。 不抖动通常更快,但更高精度的颜色只会被截断(例如8888 - > 565)。 抖动尝试分配此过程中固有的错误,以减少视觉伪影。

Returns
boolean true if the dithering bit is set in the paint's flags.

isElegantTextHeight

Added in API level 21
boolean isElegantTextHeight ()

获取优雅的度量标志。

Returns
boolean true if elegant metrics are enabled for text drawing.

isFakeBoldText

Added in API level 1
boolean isFakeBoldText ()

用于getFlags()的助手,如果设置了FAKE_BOLD_TEXT_FLAG位,则返回true

Returns
boolean true if the fakeBoldText bit is set in the paint's flags.

isFilterBitmap

Added in API level 1
boolean isFilterBitmap ()

位图过滤器是否被激活。 过滤会影响位图转换时的采样。 过滤不会影响位图中的颜色如何转换为设备像素。 这取决于抖动和xfermodes。

Returns
boolean

也可以看看:

isLinearText

Added in API level 1
boolean isLinearText ()

Helper for getFlags(),如果设置了LINEAR_TEXT_FLAG位,则返回true

Returns
boolean true if the lineartext bit is set in the paint's flags

isStrikeThruText

Added in API level 1
boolean isStrikeThruText ()

Helper for getFlags(),如果设置了STRIKE_THRU_TEXT_FLAG位,则返回true

Returns
boolean true if the strikeThruText bit is set in the paint's flags.

isSubpixelText

Added in API level 1
boolean isSubpixelText ()

Helper for getFlags(),如果设置了SUBPIXEL_TEXT_FLAG位,则返回true

Returns
boolean true if the subpixel bit is set in the paint's flags

isUnderlineText

Added in API level 1
boolean isUnderlineText ()

Helper for getFlags(),如果UNDERLINE_TEXT_FLAG位置位,则返回true

Returns
boolean true if the underlineText bit is set in the paint's flags.

measureText

Added in API level 1
float measureText (char[] text, 
                int index, 
                int count)

返回文本的宽度。

Parameters
text char: The text to measure. Cannot be null.
index int: The index of the first character to start measuring
count int: THe number of characters to measure, beginning with start
Returns
float The width of the text

measureText

Added in API level 1
float measureText (CharSequence text, 
                int start, 
                int end)

返回文本的宽度。

Parameters
text CharSequence: The text to measure
start int: The index of the first character to start measuring
end int: 1 beyond the index of the last character to measure
Returns
float The width of the text

measureText

Added in API level 1
float measureText (String text, 
                int start, 
                int end)

返回文本的宽度。

Parameters
text String: The text to measure. Cannot be null.
start int: The index of the first character to start measuring
end int: 1 beyond the index of the last character to measure
Returns
float The width of the text

measureText

Added in API level 1
float measureText (String text)

返回文本的宽度。

Parameters
text String: The text to measure. Cannot be null.
Returns
float The width of the text

reset

Added in API level 1
void reset ()

将绘图恢复到其默认设置。

set

Added in API level 1
void set (Paint src)

将来自src的字段复制到此画图中。 这相当于在所有src字段上调用get(),并在其上调用相应的set()方法。

Parameters
src Paint

setARGB

Added in API level 1
void setARGB (int a, 
                int r, 
                int g, 
                int b)

Helper to setColor(),它使用a,r,g,b和构造颜色int

Parameters
a int: The new alpha component (0..255) of the paint's color.
r int: The new red component (0..255) of the paint's color.
g int: The new green component (0..255) of the paint's color.
b int: The new blue component (0..255) of the paint's color.

setAlpha

Added in API level 1
void setAlpha (int a)

Helper to setColor(),只分配颜色的alpha值,保持其r,g,b值不变。 如果alpha值超出范围[0..255],则结果未定义

Parameters
a int: set the alpha component [0..255] of the paint's color.

setAntiAlias

Added in API level 1
void setAntiAlias (boolean aa)

用于setFlags()的帮助器,设置或清除ANTI_ALIAS_FLAG位AntiAliasing平滑正在绘制的边缘,但对形状内部没有影响。 请参阅setDither()和setFilterBitmap()以影响颜色的处理方式。

Parameters
aa boolean: true to set the antialias bit in the flags, false to clear it

setColor

Added in API level 1
void setColor (int color)

设置油漆的颜色。 请注意,颜色是包含alpha以及r,g,b的int。 该32位值不是预乘,意味着它的alpha可以是任何值,而不管r,g,b的值如何。 有关更多详细信息,请参阅Color类。

Parameters
color int: The new color (including alpha) to set in the paint.

setColorFilter

Added in API level 1
ColorFilter setColorFilter (ColorFilter filter)

设置或清除涂料的颜色过滤器,返回参数。

Parameters
filter ColorFilter: May be null. The new filter to be installed in the paint
Returns
ColorFilter filter

setDither

Added in API level 1
void setDither (boolean dither)

Helper for setFlags(),设置或清除DITHER_FLAG位抖动会影响比设备更高精度的颜色如何下采样。 不抖动通常更快,但更高精度的颜色只会被截断(例如8888 - > 565)。 抖动尝试分配此过程中固有的错误,以减少视觉伪影。

Parameters
dither boolean: true to set the dithering bit in flags, false to clear it

setElegantTextHeight

Added in API level 21
void setElegantTextHeight (boolean elegant)

设置油漆的高雅度量标志。 此设置选择未经过压缩的字体变体以适应基于拉丁的垂直度量标准,并且还会增加顶部和底部边界以提供更多空间。

Parameters
elegant boolean: set the paint's elegant metrics flag for drawing text.

setFakeBoldText

Added in API level 1
void setFakeBoldText (boolean fakeBoldText)

帮助器setFlags(),设置或清除FAKE_BOLD_TEXT_FLAG位

Parameters
fakeBoldText boolean: true to set the fakeBoldText bit in the paint's flags, false to clear it.

setFilterBitmap

Added in API level 1
void setFilterBitmap (boolean filter)

Helper用于setFlags(),设置或清除FILTER_BITMAP_FLAG位。 过滤会影响位图转换时的采样。 过滤不会影响位图中的颜色如何转换为设备像素。 这取决于抖动和xfermodes。

Parameters
filter boolean: true to set the FILTER_BITMAP_FLAG bit in the paint's flags, false to clear it.

setFlags

Added in API level 1
void setFlags (int flags)

设置油漆的标志。 使用Flag enum特定标志值。

Parameters
flags int: The new flag bits for the paint

setFontFeatureSettings

Added in API level 21
void setFontFeatureSettings (String settings)

设置字体功能设置。 格式与CSS font-feature-settings属性相同: http://dev.w3.org/csswg/css-fonts/#propdef-font-feature-settings

Parameters
settings String: the font feature settings string to use, may be null.

也可以看看:

setHinting

Added in API level 14
void setHinting (int mode)

设置绘画的提示模式。 可能是HINTING_OFFHINTING_ON

Parameters
mode int

setLetterSpacing

Added in API level 21
void setLetterSpacing (float letterSpacing)

为文本设置油漆的字母间距。 默认值为0.该值以'EM'为单位。 轻微膨胀的典型值约为0.05。 负值可以缩小文字。

Parameters
letterSpacing float: set the paint's letter-spacing for drawing text.

setLinearText

Added in API level 1
void setLinearText (boolean linearText)

帮助器setFlags(),设置或清除LINEAR_TEXT_FLAG位

Parameters
linearText boolean: true to set the linearText bit in the paint's flags, false to clear it.

setMaskFilter

Added in API level 1
MaskFilter setMaskFilter (MaskFilter maskfilter)

设置或清除maskfilter对象。

Pass null to clear any previous maskfilter. As a convenience, the parameter passed is also returned.

Parameters
maskfilter MaskFilter: May be null. The maskfilter to be installed in the paint
Returns
MaskFilter maskfilter

setPathEffect

Added in API level 1
PathEffect setPathEffect (PathEffect effect)

设置或清除patheffect对象。

Pass null to clear any previous patheffect. As a convenience, the parameter passed is also returned.

Parameters
effect PathEffect: May be null. The patheffect to be installed in the paint
Returns
PathEffect effect

setRasterizer

Added in API level 1
Rasterizer setRasterizer (Rasterizer rasterizer)

此方法在API级别21中已弃用。
Rasterizer不受HW或PDF后端的支持。

设置或清除光栅化器对象。

Pass null to clear any previous rasterizer. As a convenience, the parameter passed is also returned.

Parameters
rasterizer Rasterizer: May be null. The new rasterizer to be installed in the paint.
Returns
Rasterizer rasterizer

setShader

Added in API level 1
Shader setShader (Shader shader)

设置或清除着色器对象。

Pass null to clear any previous shader. As a convenience, the parameter passed is also returned.

Parameters
shader Shader: May be null. the new shader to be installed in the paint
Returns
Shader shader

setShadowLayer

Added in API level 1
void setShadowLayer (float radius, 
                float dx, 
                float dy, 
                int shadowColor)

这会在主图层下绘制一个阴影图层,具有指定的偏移和颜色以及模糊半径。 如果半径为0,则阴影层被去除。

可用于在文本下方创建模糊的阴影。 对其他绘图操作的支持仅限于软件渲染管线。

如果阴影颜色不透明,则阴影的Alpha将是颜料的Alpha,如果不是,则为阴影颜色的Alpha。

Parameters
radius float
dx float
dy float
shadowColor int

setStrikeThruText

Added in API level 1
void setStrikeThruText (boolean strikeThruText)

帮助器setFlags(),设置或清除STRIKE_THRU_TEXT_FLAG位

Parameters
strikeThruText boolean: true to set the strikeThruText bit in the paint's flags, false to clear it.

setStrokeCap

Added in API level 1
void setStrokeCap (Paint.Cap cap)

设置油漆的帽子。

Parameters
cap Paint.Cap: set the paint's line cap style, used whenever the paint's style is Stroke or StrokeAndFill.

setStrokeJoin

Added in API level 1
void setStrokeJoin (Paint.Join join)

设置涂料的加入。

Parameters
join Paint.Join: set the paint's Join, used whenever the paint's style is Stroke or StrokeAndFill.

setStrokeMiter

Added in API level 1
void setStrokeMiter (float miter)

设置涂料的笔触斜角值。 这用于在联接角度尖锐时控制斜接连接的行为。 该值必须> = 0。

Parameters
miter float: set the miter limit on the paint, used whenever the paint's style is Stroke or StrokeAndFill.

setStrokeWidth

Added in API level 1
void setStrokeWidth (float width)

设置抚摸的宽度。 在发线模式下将0传递给中风。 细线总是绘制一个独立于Canva矩阵的像素。

Parameters
width float: set the paint's stroke width, used whenever the paint's style is Stroke or StrokeAndFill.

setStyle

Added in API level 1
void setStyle (Paint.Style style)

设置油漆的风格,用于控制原始图的几何形状是如何解释的(除了drawBitmap,它总是假定为Fill)。

Parameters
style Paint.Style: The new style to set in the paint

setSubpixelText

Added in API level 1
void setSubpixelText (boolean subpixelText)

帮助器setFlags(),设置或清除SUBPIXEL_TEXT_FLAG位

Parameters
subpixelText boolean: true to set the subpixelText bit in the paint's flags, false to clear it.

setTextAlign

Added in API level 1
void setTextAlign (Paint.Align align)

设置涂料的文字对齐。 这控制了文本相对于其原点的位置。 左对齐意味着所有文本都将被绘制到其原点的右侧(即原点指定了文本的左边缘),依此类推。

Parameters
align Paint.Align: set the paint's Align value for drawing text.

setTextLocale

Added in API level 17
void setTextLocale (Locale locale)

将文本语言环境列表设置为仅包含语言环境的一个成员列表。 有关语言环境列表如何影响某些语言的文本绘制方式,请参见setTextLocales(LocaleList)

Parameters
locale Locale: the paint's locale value for drawing text, must not be null.

setTextLocales

Added in API level 24
void setTextLocales (LocaleList locales)

设置文本区域设置列表。 文本区域设置列表影响文本如何为某些语言绘制。 例如,如果区域设置列表包含CHINESECHINA ,那么文本渲染器将倾向于使用中文字体来绘制文本。 同样,如果区域设置列表包含JAPANESEJAPAN ,则文本渲染器将倾向于使用日文字体来绘制文本。 如果区域设置列表中同时包含这两个区域,则会考虑这些区域设置在列表中出现的顺序以决定字体。 这种区别很重要,因为中文和日文文本都使用了许多相同的Unicode代码点,但它们的外观对于每种语言都有微妙的差异。 默认情况下,文本区域设置列表被初始化为仅包含系统区域设置的一个成员列表。 这假设要呈现的文本很可能是用户的首选语言。 如果已知文本的实际语言或语言,则可以使用此方法将它们提供给文本渲染器。 文本渲染器可能会尝试根据要绘制的文本内容来猜测语言脚本,而与文本区域设置无关。 指定文本区域设置只是帮助它在某些不明确的情况下做得更好。

Parameters
locales LocaleList: the paint's locale list for drawing text, must not be null or empty.

setTextScaleX

Added in API level 1
void setTextScaleX (float scaleX)

为文本设置油漆的水平比例因子。 默认值是1.0。 值> 1.0将使文本更宽。 值<1.0将使文本变窄。

Parameters
scaleX float: set the paint's scale in X for drawing/measuring text.

setTextSize

Added in API level 1
void setTextSize (float textSize)

设置颜料的文字大小。 该值必须> 0

Parameters
textSize float: set the paint's text size.

setTextSkewX

Added in API level 1
void setTextSkewX (float skewX)

为文字设置涂料的水平偏斜系数。 默认值为0.要近似倾斜文本,请使用大约-0.25的值。

Parameters
skewX float: set the paint's skew factor in X for drawing text.

setTypeface

Added in API level 1
Typeface setTypeface (Typeface typeface)

设置或清除字体对象。

Pass null to clear any previous typeface. As a convenience, the parameter passed is also returned.

Parameters
typeface Typeface: May be null. The typeface to be installed in the paint
Returns
Typeface typeface

setUnderlineText

Added in API level 1
void setUnderlineText (boolean underlineText)

帮助器setFlags(),设置或清除UNDERLINE_TEXT_FLAG位

Parameters
underlineText boolean: true to set the underlineText bit in the paint's flags, false to clear it.

setXfermode

Added in API level 1
Xfermode setXfermode (Xfermode xfermode)

设置或清除xfermode对象。

Pass null to clear any previous xfermode. As a convenience, the parameter passed is also returned.

Parameters
xfermode Xfermode: May be null. The xfermode to be installed in the paint
Returns
Xfermode xfermode

Hooray!