>
> Hi All,
>
> I am designing an native custom article view in android.  My requirement
> is such that I have a "long" text which i need to break into pages.  I can
> find out the total height of my TextView, how do i calculate the max
> visible lines for the view based on the height?
>
> I know Paint.breakText will do for me, but its very slow.  Please have a
> look at the following code snippet:
>
> public static int getTextLineCountForHeight(String text, int maxWidth,
> float textSize, Typeface typeface, int maxHeight) {
>  TextPaint paint = new TextPaint(Paint.LINEAR_TEXT_FLAG |
> Paint.SUBPIXEL_TEXT_FLAG);
> paint.setTextSize(textSize);
>  paint.setTypeface(typeface);
>
> int lineCount = 0;
>
> int index = 0;
>  int length = text.length();
> Rect bounds = new Rect();
> bounds.setEmpty();
>  while(index < length - 1) {
> bounds.setEmpty();
> index += paint.breakText(text, index, length, true, maxWidth, null);
>  lineCount++;
> paint.getTextBounds("Py", 0, 2, bounds);
> if((int)Math.floor(lineCount * bounds.height())>=maxHeight){
>  return lineCount;
> }
>
> }
>
>  return lineCount;
> }
>
> textView.getHeight()/textView.getLineHeight() doesnt give me the correct
visible lines.

Can someone please suggest me some faster was to achieve my requirement.
>
> Any help is highly appreciated.
>
> -Ankur.
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to