Sometimes you need togglable button, sometimes checkbox and sometimes switch. They all have the same semantics but different look. Thats why there is setViewType(...). So setCheckable can't decide which view you want. I think by default you get togglable button.
Regarding text..I will check with people who made it. But most likely there is no way to fix it. You may want to have text on the left, right, top or bottom, with spacer in between or not and so on. It's too complex to solve for general case.