I have the following shape XML:
<?xml version="1.0" encoding="utf-8"?>
<!-- some other stuff goes here -->
Ring and other shapes are
If you look at the source code for GradientDrawable, you'll see it looks like certain properties (like innerRadius) can only be defined through XML... they are not exposed through accessor methods. The relevant state is also unhelpfully private to the class, so subclassing is no help either.