int breakText(String text, boolean measureForwards, float maxWidth, float[] measuredWidth)
比如文本阅读器的翻页效果,我们需要在翻页的时候动态折断或生成一行字符串,这就派上用场了~
计算指定参数长度能显示多少个字符,同时可以获取指定参数下可显示字符的真实长度,譬如:
privatestatic final String STR = "呵呵ABCDEF";
mPaint.setTextSize(50);
float[] value = newfloat[1];
int ret = mPaint.breakText(STR, true, 200, value);
Log.i("YYYY", "breakText="+ret+", STR="+STR.length()+", value="+value[1]);
//breakText=5, STR=8, value=195.0
void getTextBounds(char[] text, intindex, intcount, Rect bounds)
void getTextBounds(String text, int start, int end, Rect bounds)
获取文本的宽高,通过bounds的Rect拿到整型。
float measureText(String text)
float measureText(CharSequence text, int start, int end)
float measureText(String text, int start, int end)
float measureText(char[] text, int index, int count)
粗略获取文本的宽度,和上面的getTextBounds比较类似,返回浮点数。
int getTextWidths(String text, int start, intend, float[] widths)
int getTextWidths(String text, float[] widths)
int getTextWidths(CharSequence text, intstart, intend, float[] widths)
int getTextWidths(char[] text, int index, intcount, float[] widths)
精确计算文字宽度,与上面两个类似。