我已经看到很多可能的答案,但没有一个对我有用。
我的目标是有一个圆形的按钮与图像,一些文字和背景。图像和文本应该在背景中居中。
我用以下作为背景:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:dither="true"
    android:shape="rectangle">

    <corners android:radius="120sp" />

    <solid android:color="#FF5F00" />

    <size
        android:width="120sp"
        android:height="36sp" />

</shape>

以下为图像:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24sp"
    android:height="24sp"
    android:viewportWidth="24"
    android:viewportHeight="24">
  <path
      android:pathData="M5,12L19,12"
      android:strokeLineJoin="round"
      android:strokeWidth="2"
      android:fillColor="#00000000"
      android:strokeColor="#FFFFFF"
      android:strokeLineCap="round"/>
  <path
      android:pathData="M12,5L12,19"
      android:strokeLineJoin="round"
      android:strokeWidth="2"
      android:fillColor="#00000000"
      android:strokeColor="#FFFFFF"
      android:strokeLineCap="round"/>
</vector>

最后是按钮:
    <Button android:layout_columnSpan="6"
android:layout_gravity="center" android:drawableStart="@drawable/ic_plus_24px"
android:text="Evaluer"
android:id="@+id/doEvalQOL" android:background="@drawable/roundedyakabutton" android:textColor="#FFFFFF"
android:gravity="center"
android:textSize="12sp"
fontPath="fonts/Ubuntu-Medium.ttf" />

这给了我这个:
android - 以图片/文字为背景的按钮-LMLPHP
一旦我移除背景,图像和文本将按照我希望的方式放置在背景中:
android - 以图片/文字为背景的按钮-LMLPHP
我错过了什么?
提前谢谢。

最佳答案

您可以使用DrawablePadding、PaddingLeft和PaddingRight将文本及其图标在按钮中心对齐。我使用了下面的代码,结果作为截图附在后面。希望它能帮到你。

    <Button
    android:id="@+id/doEvalQOL"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:background="@drawable/roundedyakabutton"
    android:drawableLeft="@drawable/ic_plus_24px"
    android:text="Evaluer"
    android:drawablePadding="2dip"
    android:gravity="center"
    android:paddingLeft="30dip"
    android:paddingRight="26dip"
    android:singleLine="true"
    android:textColor="#FFFFFF"
    android:textSize="12sp"
     />

android - 以图片/文字为背景的按钮-LMLPHP

09-10 12:39
查看更多