【问题标题】:Center text with the icon in textButton使用 textButton 中的图标居中文本
【发布时间】:2023-03-23 03:16:02
【问题描述】:

这个问题可能是愚蠢的 AF,但我无法弄清楚。我怎样才能使这个按钮居中?尝试了重力和填充,但没有成功

按钮样式:

 <style name="Theme.Base.Jabotmobile.TextBT"
            parent="Widget.MaterialComponents.Button.TextButton">
            <item name="icon">@drawable/ic_baseline_add_24</item>
            <item name="iconPadding">4dp</item>
            <item name="android:textSize">14sp</item>
            <item name="fontFamily">@font/open_sans_regular</item>
            <item name="android:maxLines">1</item>
            <item name="android:padding">0dp</item>
            <item name="textAllCaps">false</item>
            <item name="android:layout_gravity">center_vertical</item>
            <item name="iconGravity">start</item>
        </style>

布局中的按钮:

<Button
            android:id="@+id/cat_req_BT1"
            style="@style/Theme.JaBotMobile.TextBT"
            android:layout_width="155dp"
            android:layout_height="42dp"
            android:layout_marginStart="18dp"
            android:layout_marginTop="16dp"
            android:text="@string/category_req"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/textInputLayout4" />

【问题讨论】:

  • @Onik 好吧,我认为这里没关系,但现在添加了
  • Inb4 样式导入没有错,我使用基本标签,然后针对不同的 API 进行扩展
  • 是否要将按钮在父布局中居中?

标签: android xml android-layout material-design


【解决方案1】:

尝试添加这个约束,它应该以这种方式居中

    app:layout_constraintEnd_toEndOf="parent"

附言

我现在明白了这个问题,基本上你想将按钮项目(图标和文本)垂直居中。不幸的是,我没有针对这种情况的解决方案,您可以创建自定义视图组件,而不是使用样式,使用自定义视图组件可以更灵活地进行自定义。

【讨论】:

  • 能否请您添加整个 xml 文件?
  • 有点长,但这里是pastebin.com/miW7fWYP底部的按钮
  • 你的设计基本上是这样的,我不知道你想如何对齐按钮中心,确切地说是ibb.co/gvMRsvk,以支持你的目标是否可以提供类似图像的东西?
  • ibb.co/KjBvcK7 看起来像这样,我希望按钮稍微向上或文本降低。这不是超级重要,但我喜欢把东西放在美观的地方。
  • 我现在明白了这个问题,但是很遗憾没有针对这种情况的解决方案,但我建议您创建一个自定义视图,这样您就可以充分灵活地制作您想要的一切。
猜你喜欢
  • 1970-01-01
  • 2023-01-31
  • 2019-08-31
  • 2021-11-14
  • 1970-01-01
  • 1970-01-01
  • 2019-11-04
  • 1970-01-01
  • 2014-06-19
相关资源
最近更新 更多