Android:在Button或ImageButton上组合文本和图像

Android:在Button或ImageButton上组合文本和图像

我正在尝试在按钮上创建一个图像(作为背景)并动态添加,具体取决于运行时发生的情况,图像上方/上方的一些文本。

如果我使用ImageButton我甚至没有可能添加文本。如果我使用,Button我可以添加文本,但只定义具有此处android:drawableBottom定义的XML属性的图像。

然而,这些属性仅在x和y维度中组合文本和图像,这意味着我可以在文本周围绘制图像,但不能在文本的下方/下方(z轴定义为从显示中出来)。

有关如何做到这一点的任何建议?一个想法是扩展ButtonImageButton覆盖draw()-method。但凭借我目前的知识水平,我真的不知道如何做到这一点(2D渲染)。也许有经验的人知道解决方案或至少有一些指针可以开始?


慕运维8079593
浏览 937回答 3
3回答

天涯尽头无女友

您可以调用setBackground()a Button来设置按钮的背景。任何文本都将显示在背景上方。如果你在xml中寻找类似的东西,那么: android:background属性的工作方式相同。

慕侠2389804

这个问题有一个更好的解决方案。只需要正常Button并使用drawableLeft和gravity属性。<Button &nbsp;&nbsp;android:layout_width="fill_parent" &nbsp;&nbsp;android:layout_height="wrap_content" &nbsp;&nbsp;android:drawableLeft="@drawable/my_btn_icon" &nbsp;&nbsp;android:gravity="left|center_vertical"&nbsp;/>通过这种方式,您可以获得一个按钮,该按钮在按钮的左侧显示一个图标,并且图标的右侧站点的文本垂直居中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android