文本顶部带有图标的 Android 材质按钮

Posted

技术标签:

【中文标题】文本顶部带有图标的 Android 材质按钮【英文标题】:Android Material Button with Icon on top of Text 【发布时间】:2020-09-12 03:51:21 【问题描述】:

是否可以在其文本顶部有一个带有图标的材质按钮:

如果是,你能用一些代码解释一下吗?

谢谢。

【问题讨论】:

您可以使用具有 2 个子元素的垂直方向的线性布局:第一个 Imageview,第二个 TextView。并且可以在线性布局上使用 onClick 事件 您可以在布局中使用 drawableTop 并提供您想要的任何图标。如果是 textView 会更容易。如果是按钮,则必须提供透明背景 【参考方案1】:

现在您可以使用属性 iconGravity="top"

类似:

<com.google.android.material.button.MaterialButton
    app:icon="@drawable/...."
    app:iconGravity="top" />

注意:至少需要1.3.0-alpha02版本。

【讨论】:

它对我不起作用。 == > AAPT:错误:'top' 与属性 iconGravity (attr) 标志不兼容 [end=3, start=1, textEnd=4, textStart=2] [weak]。 @Mohammad7G 您使用的是 1.3.0 版本吗?这里存在 1.3.0-rc01 和值:github.com/material-components/material-components-android/blob/…【参考方案2】:

您可以使用 Button 属性“drawableTop”来获得您正在寻找的外观。

android:drawableTop="@drawable/YOUR_DRAWABLE_RESOURCE_NAME"

下面是它的应用示例代码:

<Button
     android:id="@+id/your_text_view"
     android:layout_
     android:layout_
     android:text="Image"
     android:drawableTop="@drawable/YOUR_DRAWABLE_RESOURCE_NAME"/>

【讨论】:

以上是关于文本顶部带有图标的 Android 材质按钮的主要内容,如果未能解决你的问题,请参考以下文章

带有文本和图标的圆形按钮

带有图标和文本的 Android 按钮

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

材质 ui 自动完成,带有图标

如何在Android上将带有文本的向上操作图标更改为按钮?

带有左图标和文本的按钮完全对齐