circletextview

Additional

Language
Java
Version
N/A
Created
May 30, 2015
Updated
Oct 29, 2015 (Retired)
Owner
Lisa Wray (lisawray)
Contributor
Lisa Wray (lisawray)
1
Activity
Badge
Generate
Download
Source code
APK file

Promotion

circletextview

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 (setTypeface(), setTextColor and so on.) You can set these attributes directly on the TextPaint by calling e.g. getTextPaint().setTypeface().

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.

Contributing

If you like this, please help me make it better! Send me pull requests. My wish list includes:

  • supporting standard android:xxxx attributes for TextView in xml
  • view padding
  • fix for that pesky bug where the first character is always stuck on the top line by itself