2

我有一个宽度为 的 Button match_parent。我想要一个中心有文字的图像/图标。我试过android:drawableStart属性,但它没有帮助。我不知道我错过了什么。有没有人也面临同样的问题。

注意:此链接不能解决我的问题。我正在附加我的 xml 按钮部分

<Button
    android:background="@drawable/blue_button"
    android:id="@+id/btn_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:drawableStart="@drawable/ic_list"
    android:text="@string/btn_schedule"
    android:textColor="@android:color/white" />

添加这些属性后,我的文本居中,但图像/图标仍位于按钮的左侧。任何身体都可以帮助!

4

5 回答 5

1

您可能想查看我对这个问题的回答: Android Button with text and image

这是一个丑陋的解决方案,但是您希望图像和文本在按钮中作为一个组居中,而不是文本中心和可从侧面填充的可绘制对象,这是我找到的唯一方法。

于 2013-07-08T06:14:51.593 回答
0

100% 工作

<FrameLayout
style="?android:attr/buttonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
    style="?android:attr/buttonStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:background="@null"
    android:clickable="false"
    android:drawableLeft="@android:drawable/ic_delete"
    android:focusable="false"
    android:gravity="center"
    android:minHeight="0dp"
    android:minWidth="0dp"
    android:text="Button Challenge" />

这里

于 2014-12-24T07:00:15.737 回答
0

我有同样的问题,我没有找到任何明确的解决方案。但是我得到了一些信息,这些信息也有助于我提供以下解决方案(我选择了第二个):

  1. 创建将包含您的图像和文本的图像

     <Button
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:drawableTop="@drawable/YOUR_IMAGE"
         android:gravity="center_horizontal|center_vertical" />
    
  2. 不太清楚,您必须在布局中添加更复杂的更改,但以后修改文本更容易

     <FrameLayout
         android:gravity="center_horizontal"
         android:layout_width="match_parent"
         android:layout_height="wrap_content" >
    
         <Button
             android:layout_height="50dp"
             android:layout_width="match_parent" /> 
    
         <TextView
             android:text="sample"
             android:layout_height="50dp"
             android:layout_width="wrap_content"
             android:drawableLeft="@drawable/YOUR_IMAGE"
             android:gravity="center_horizontal|center_vertical" />
     </FrameLayout>
    
于 2014-02-02T08:24:11.257 回答
0

这对我有用。基本上使用按钮的 paddingLeft 和 PaddingRight 使文本和图像靠近中心。

注意:可能是相当长的文本的问题。

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="search button"
            android:drawableStart="@drawable/ic_action_search"
            android:paddingLeft="60dp"
            android:paddingRight="60dp"/>
    </LinearLayout> 
于 2015-05-15T15:15:12.033 回答
-1

我试过了android:drawableTop

按钮中心显示的图像

于 2013-07-08T08:09:31.213 回答