我有ListView
一个ArrayAdapter
. 对于项目,我只使用一个TextView
布局。我希望某些行设置复合可绘制对象。
问题:有没有办法为包含在其中的实际文本设置填充,TextView
以便复合可绘制对象也不会得到填充?其他解决方案是锁定文本的宽度。我需要添加ImageViews
到我的布局吗?
我有ListView
一个ArrayAdapter
. 对于项目,我只使用一个TextView
布局。我希望某些行设置复合可绘制对象。
问题:有没有办法为包含在其中的实际文本设置填充,TextView
以便复合可绘制对象也不会得到填充?其他解决方案是锁定文本的宽度。我需要添加ImageViews
到我的布局吗?
非常简单:
android:drawablePadding="5dp"
它将根据方向自动使用填充。
我将其发布为答案,以便遇到此帖子的人找到答案。
没有直接的方法只为文本设置填充,但您可以为整体设置正TextView
填充并为可绘制对象设置负填充。
改进 Gio 的建议,这可能是针对过时的 API/SDK ......
TL:DR - 只适用android:drawablePadding
于增加图像和文本之间的距离。
说明:
现在在和 originalandroid:drawablePadding
之间应用填充,在这种情况下是包含文本的 TextView;CompoundDrawable
View
android:padding
和修饰符现在适用于整个组,包括所有化合物。
做消极积极的黑客似乎不再起作用了。
因此,根据可绘制位置(drawableTop/Left/...),填充将应用到它的相反方向,就在可绘制对象旁边,换句话说,在两个元素之间。例如,应用drawablePadding="10dp"
到左侧放置的可绘制对象将具有与将个人设置ImageView
到 TextView 左侧的效果类似paddingRight="10dp"
(至少在填充方面)。