I believe the problem is that the Checkbox widget uses a regular TextView with the drawableLeft
attribute, because it expects text to be shown as well. (This is why you see it centered vertically, but offset slightly to the left.)
If you simply want an image button with multiple states, I suggest using a ToggleButton with your custom images in a state list selector. Or you could create a custom class that extends ImageView and implements Checkable.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…