Android 如何使左侧可绘制的图形粘贴到文本

Android 如何使左侧可绘制的图形粘贴到文本,android,Android,XML代码: <Button android:id="@+id/shareProduct" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:background="@drawable/selector_dark_blue_border_light_blue_solid" andr

XML代码:

 <Button
    android:id="@+id/shareProduct"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:background="@drawable/selector_dark_blue_border_light_blue_solid"
    android:drawableLeft="@drawable/ic_fb"
    android:drawablePadding="10dp"
    android:gravity="center"
    android:paddingBottom="6dp"
    android:paddingTop="6dp"
    android:text="Facebook"
    android:textColor="@color/white"
    android:textSize="16sp" />

我得到的:

 <Button
    android:id="@+id/shareProduct"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:background="@drawable/selector_dark_blue_border_light_blue_solid"
    android:drawableLeft="@drawable/ic_fb"
    android:drawablePadding="10dp"
    android:gravity="center"
    android:paddingBottom="6dp"
    android:paddingTop="6dp"
    android:text="Facebook"
    android:textColor="@color/white"
    android:textSize="16sp" />

我想要什么:

 <Button
    android:id="@+id/shareProduct"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:background="@drawable/selector_dark_blue_border_light_blue_solid"
    android:drawableLeft="@drawable/ic_fb"
    android:drawablePadding="10dp"
    android:gravity="center"
    android:paddingBottom="6dp"
    android:paddingTop="6dp"
    android:text="Facebook"
    android:textColor="@color/white"
    android:textSize="16sp" />


我想,通过给出
gravity=“center”
即使是可拉丝的也在中间

将可绘制填充减少到更小的
android:drawablePadding=“1dp”
或使用
android:padding=“1dp”
将可绘制填充减少到更小的
android:drawablePadding=“1dp”
或使用
android:padding=“1dp”
尝试使用此替代解决方案,尝试使用填充,除非您能够:

<Button
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:drawableLeft="@drawable/my_btn_icon"
 android:gravity="left|center_vertical" />

尝试使用此替代解决方案,尝试使用填充,除非您能够:

<Button
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:drawableLeft="@drawable/my_btn_icon"
 android:gravity="left|center_vertical" />

像这样试试

<Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/ic_launcher"
        android:paddingLeft="80dp"
        android:gravity="left|center_vertical" 
        android:text="Facebook"/>

输出:

对于多屏幕支持,您可以使用维度(调整
paddingLeft
),以便所有密度设备的外观和感觉都相同

希望这对你有帮助。

像这样试试

<Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/ic_launcher"
        android:paddingLeft="80dp"
        android:gravity="left|center_vertical" 
        android:text="Facebook"/>

输出:

对于多屏幕支持,您可以使用维度(调整
paddingLeft
),以便所有密度设备的外观和感觉都相同


希望这对您有所帮助。

这样我就可以把文本放到左边了。我希望按钮的宽度为200dp,中间有文本。好的,对于200dp,您可以更改填充父项,并用所需的尺寸包装内容。尝试使用gravity=“center”并使用android:drawablePadding=“-30dip”,然后调整30dip以找到适合您所需皮肤的尺寸。这是一个技巧,也许有更好的解决办法。这样我就把文本放在左边了。我希望按钮的宽度为200dp,中间有文本。好的,对于200dp,您可以更改填充父项,并用所需的尺寸包装内容。尝试使用gravity=“center”并使用android:drawablePadding=“-30dip”,然后调整30dip以找到适合您所需皮肤的尺寸。这是个骗局,也许有更好的解决办法。