使用复合drawable在TextView中设置实际文本填充

时间:2012-09-17 08:23:30

标签: android textview padding compound-drawables

我的ListView填充了ArrayAdapter。对于项目,我只使用一个TextView布局。我想要一些行设置复合drawables。

问题:有没有办法为TextView中包含的实际文本设置填充,以便复合drawables也不会得到填充?其他解决方案是锁定文本的宽度。我是否需要将ImageViews添加到我的布局中?

提前致谢。

3 个答案:

答案 0 :(得分:42)

非常简单

  

机器人:drawablePadding = “5DP”

它将根据方向

自动使用填充

答案 1 :(得分:11)

我发布此帖作为答案,以便遇到这篇文章的人找到答案。

没有直接的方法只将填充设置为文本,但您可以将填充设置为整个TextView并设置否定填充可绘制的。

答案 2 :(得分:8)

改善Gio的消化,这可能是一个过时的API / SDK ......

TL:DR - 只需应用android:drawablePadding即可增加图片与文字之间的距离。

说明: android:drawablePadding现在在CompoundDrawable和原始View之间应用填充,在本例中为包含文本的TextView;

android:padding和修饰符现在适用于整个组,包括所有化合物。

做出消极积极的黑客似乎不再有效。

因此,取决于可绘制位置(drawableTop / Left / ...),填充将应用于它的相反方向,紧邻drawable,换句话说,在两个元素之间。例如,将drawablePadding="10dp"应用于左侧放置的drawable将具有与使用ImageView(至少填充方式)在TextView左侧设置单个paddingRight="10dp"类似的效果。