Android:在按钮(Button)或图像按钮(ImageButton)上合并文本和图片。

发布时间 2023-11-11 22:24:55作者: 小满独家

内容来自 DOC https://q.houxu6.top/?s=Android:在按钮(Button)或图像按钮(ImageButton)上合并文本和图片。

我正在尝试在按钮背景上添加一张图片,并根据运行时发生的情况动态地添加一些文本到图片上方。

如果使用 ImageButton,我甚至无法添加文本。
如果使用 Button,我可以添加文本,但只能使用 android:drawableBottom 和类似的 XML 属性来定义图片,具体参考这里

然而,这些属性只能在 x 和 y 维度上组合文本和图片,意味着我可以在文本周围绘制图片,但无法在文本下方(在 z 轴上,即从显示器中延伸出来)绘制图片。

对于如何解决此问题,有什么建议吗?一个想法是扩展 ButtonImageButton 并重写 draw() 方法。但以我目前的知识水平,我真的不知道该如何做到这一点(2D 渲染)。也许有经验的人知道解决方案,或者至少可以给出一些建议以供起步。


您可以在 Button 上调用 setBackground() 来设置按钮的背景。

任何文本都会显示在背景上方。

如果您想在 XML 中实现类似的效果,可以使用 android:background 属性,其工作方式相同。