是否可以为我们使用android:drawableLeft
添加的图像设置边距或填充
发布于 2011-07-13 05:44:03
正如cephus提到的,如果按钮足够小,android:drawablePadding
只会强制在文本和可绘制之间进行填充。
当布局较大的按钮时,您可以结合使用android:drawablePadding
、android:paddingLeft
和android:paddingRight
来强制文本和可绘制内容向内靠近按钮的中心。通过分别调整左侧和右侧填充,您可以对布局进行非常详细的调整。
下面是一个示例按钮,它使用填充来使文本和图标之间的距离比默认情况下更近:
<Button android:text="@string/button_label"
android:id="@+id/buttonId"
android:layout_width="160dip"
android:layout_height="60dip"
android:layout_gravity="center"
android:textSize="13dip"
android:drawableLeft="@drawable/button_icon"
android:drawablePadding="2dip"
android:paddingLeft="30dip"
android:paddingRight="26dip"
android:singleLine="true"
android:gravity="center" />
发布于 2010-09-19 13:20:17
如果按钮足够小,可以将文本和可绘制内容挤压在一起,则android:drawablePadding
只会在文本和绘图之间创建填充间隙。如果你的按钮比宽度(对于drawableLeft/drawableRight)或高度(对于drawableTop/drawableBottom)更宽,那么drawablePadding不会做任何事情。
我现在也在努力解决这个问题。我的按钮很宽,图标挂在按钮的左边缘,文本居中。我现在解决这个问题的唯一方法就是用photoshop在画布的左边缘添加空白像素,在画布上留出空白处。不是很理想,也不是很推荐。但这是我目前的权宜之计,除了重建TextView/Button。
发布于 2015-05-20 00:04:03
创建可绘制的resources.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<inset android:drawable="@drawable/small_m" android:insetLeft="10dp" android:insetTop="10dp" />
</item>
<item>
<inset android:drawable="@drawable/small_p" android:insetLeft="10dp" android:insetTop="10dp" />
</item>
</selector>
https://stackoverflow.com/questions/3337371
复制相似问题