Sounds like you're giving this some good old fashioned elbow grease.
You can get the total width of your text if you're using the Canvas.drawText() method. Granted, you'd then have to implement your own custom view. The Paint object has a measureText() method that returns the text width in pixels. Make sure you do this after
you've applied your text style(size, font, etc). Then, use this Paint object to draw the text with drawText() mentioned above.
You can draw by word, but it's easier to just do the whole text block at once with the following drawText method:
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.
Go through your text block, find the max words that fit in one line, use drawText(), increment the Y, draw more text, rinse and repeat.
Not quite as simple as html/css floating images =/