android:drawableLeft margin和/或padding

是否可以为我们添加的android:drawableLeft图像设置边距或填充?


正如cephus提到的android:drawablePadding只会在文本和drawable之间强制填充,如果按钮足够小的话。

在布置较大的按钮时,可以使用android:drawablePaddingandroid:paddingLeftandroid: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" />  

TextView有一个android:drawablePadding属性,它应该可以做到这一点:

机器人:drawablePadding

可绘制和文本之间的填充。

必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“14.5sp”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。

这也可以是对资源(形式为“@ [package:] type:name”)或主题属性(形式为“?[package:] [type:] name”)的引用,其中包含此类型的值。

这对应于全局属性资源符号drawablePadding。


android:drawablePadding只会在文本和drawable之间创建一个填充间隙,如果该按钮足够小,可以将它们压缩在一起。 如果你的按钮宽于组合宽度(对于drawableLeft / drawableRight)或高度(对于drawableTop / drawableBottom),那么drawablePadding不会做任何事情。

我现在也在为此苦苦挣扎。 我的按钮很宽,图标挂在按钮的左边,文本居中居中。 我现在唯一的解决方法是通过使用photoshop在画布的左边缘添加空白像素来绘制可绘制边缘。 不理想,也不是真的推荐。 但那是我现在的缺口解决方案,很少重建TextView / Button。

链接地址: http://www.djcxy.com/p/29479.html

上一篇: android:drawableLeft margin and/or padding

下一篇: Set margins in a LinearLayout programmatically