我想设置一个带有图案的动态按钮,可以随程序运行的状态和图片上方的文本变化而改变。如果我用ImageButton,连文本都无法添加。如果用Button,我可以添加文本,但是只能用android:drawableBottom设定图片和一些XML的相关属性。然而这些属性只能将文本和图片在二维空间里结合在一起,也就是说,我只能在文本周围添加图片,但不能将图片置于文本下方。
我应该怎么解决这个问题呢?
原问题:Android: combining text & image on a Button or ImageButton
答:Vitaly Polonetsky
(最佳答案)
你可以在Button上设置setBackgroundDrawable(),来为按钮添加背景。任何文本都可以置于背景上方,如果你需要一些xml的相关内容,可以使android:background这个属性。
答:OneWorld
下述方法主要解决在一个按钮上添加背景,图标和文本的操作:
如果想要实现更复杂的效果,你可以使用RelativeLayout,设定它的可点击性。
答:schlingel
我认为还有一些更好的解决办法,只需要一个普通的Button,然后用drawableLeft和重力属性即可完成:
这样,在按钮左侧会出现一个纽扣按钮,本文会在按钮右侧,居中位置。
答:CMA
只需要用
替代
即可