How to use an ImageButton with appropriate touch states (Answer for a stackoverflow question)