I'm trying to have an image (as the background) on a button and add dynamically, depending on what's happening during run-time, some text above/over the image.
If I use ImageButton
I don't even have the possibility to add text.
If I use Button
I can add text but only define an image with android:drawableBottom
and similar XML attributes as defined here.
However these attributes only combine text & image in x- and y-dimensions, meaning I can draw an image around my text, but not below/under my text (with the z-axis defined as coming out of the display).
Any suggestions on how to do this? One idea would be to either extend Button
or ImageButton
and override the draw()
-method. But with my current level of knowledge I don't really know how to do this (2D rendering). Maybe someone with more experience knows a solution or at least some pointers to start?
Just use a LinearLayout and pretend it's a
Button
- settingbackground
and clickable is the key:For users who just want to put Background, Icon-Image and Text in one
Button
from different files: Set on aButton
background, drawableTop/Bottom/Rigth/Left and padding attributes.For more sophisticated arrangement you also can use
RelativeLayout
and make it clickable.Tutorial: Great tutorial that covers both cases: http://izvornikod.com/Blog/tabid/82/EntryId/8/Creating-Android-button-with-image-and-text-using-relative-layout.aspx