A circular text view for Android Marshmallow.
How it works
This is a bare-bones demo of using
StaticLayout.setIndents() to produce a circular layout. It doesn't extend TextView and therefore doesn't offer most convenience methods you're used to (
setTextColor and so on.) You can set these attributes directly on the TextPaint by calling e.g.
Why would anyone want to use this?
To display text on an Android Wear device. That was the example given at Google I/O 2015 when
setIndents was first announced, anyway.
Note that now that
setIndents has been moved out of
TextView, forcing you to draw the layout to canvas yourself, you lose the additional functionality of TextView: namely, text selection and highlighting. This isn't much of a loss on an Android Wear device.
However, losing text selection and highlighting is crippling for my pet use case, which is to flow body text around images. I'm still experimenting with this. If you are writing an Android Wear app, carry on.
If you like this, please help me make it better! Send me pull requests. My wish list includes:
- supporting standard
android:xxxxattributes for TextView in xml
- view padding
- fix for that pesky bug where the first character is always stuck on the top line by itself