是否可以有一个带有顶部文本的背景图像的按钮?

Posted

技术标签:

【中文标题】是否可以有一个带有顶部文本的背景图像的按钮?【英文标题】:Is it possible to have a Button with a background image with text on top? 【发布时间】:2010-02-16 21:20:25 【问题描述】:

我需要在顶部具有复制背景图案和普通按钮文本的按钮 - 如何在布局 XML 中指定它?

【问题讨论】:

【参考方案1】:

在有问题的Button 上覆盖android:background。或者,为了重用,您可以声明自己的样式,覆盖基本按钮样式中的 android:background

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="MyButtonStyle" parent="Widget.Button">
    <item name="android:background">@drawable/fancy_button</item>
  </style>
</resources>

在任何一种情况下,您的 fancy_button 可绘制对象都是图像,或者更可能是 StateListDrawable

对于您希望将其应用到的 Button 实例,您可以:&lt;Button style="@style/MyButtonStyle" /&gt;

【讨论】:

@Chris:我没有看过 Android 中的样式/主题,这对我来说是个好方法。 @Chris:我假设 StateListDrawable 允许我根据状态交换图像?我如何将它用于我的按钮? 看这里的例子:***.com/questions/2016249/… 你只需要声明当按钮被聚焦/按下/禁用/上面没有等时你想显示哪个图像。【参考方案2】:

考虑使用ImageButton 而不是使用常规的。

【讨论】:

ImageButton 不允许您设置文本标签。 ImageButton 会复制背景图片吗?

以上是关于是否可以有一个带有顶部文本的背景图像的按钮?的主要内容,如果未能解决你的问题,请参考以下文章

在 React Native iOS 中的图像顶部呈现具有透明背景的文本框

Android:创建一个带有图像且没有文本的切换按钮

如何根据文本长度或背景图像调整按钮宽度

只有返回按钮和透明背景的导航

图像顶部的Android按钮不起作用

带有透明文本的 Android 按钮