22

我有ListView一个ArrayAdapter. 对于项目,我只使用一个TextView布局。我希望某些行设置复合可绘制对象。

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

4

3 回答 3

48

非常简单:

android:drawablePadding="5dp"

它将根据方向自动使用填充。

于 2013-06-19T02:36:00.503 回答
12

我将其发布为答案,以便遇到此帖子的人找到答案。

没有直接的方法只为文本设置填充,但您可以为整体设置TextView填充并为可绘制对象设置填充。

于 2012-10-05T15:33:27.677 回答
9

改进 Gio 的建议,这可能是针对过时的 API/SDK ......

TL:DR - 只适用android:drawablePadding于增加图像和文本之间的距离。

说明: 现在在和 originalandroid:drawablePadding之间应用填充,在这种情况下是包含文本的 TextView;CompoundDrawableView

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

做消极积极的黑客似乎不再起作用了。

因此,根据可绘制位置(drawableTop/Left/...),填充将应用到它的相反方向,就在可绘制对象旁边,换句话说,在两个元素之间。例如,应用drawablePadding="10dp"到左侧放置的可绘制对象将具有与将个人设置ImageView到 TextView 左侧的效果类似paddingRight="10dp"(至少在填充方面)。

于 2013-10-24T00:59:41.290 回答