Android:图像和文本之间的间距

3
这是我的代码:
<TextView
    android:id="@+id/error_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="2dp"
    android:gravity="center"
    android:drawableRight="@drawable/error_image"
    android:visibility="invisible"
    android:textColor="#aa0000"
    android:textStyle="bold"
    android:textSize="16dp"/>

图片和文本之间有一定的空隙,我想要减少这个空隙,应该怎么做?


你尝试将重力改为左边了吗? - Abhishek Shukla
@AbhishekShukla:当我将其设置为左侧时,图像在文本下方。我该如何修复它? - Elham Gdz
设置填充。这样就可以解决问题了。 - Abhishek Shukla
@ElhamGdz,你需要强制使用android:layout_width="match_parent"吗? - SilentKiller
@SilentKiller:它不起作用。 - Elham Gdz
@SilentKiller:谢谢,但不需要设置drawablePadding,没有这个也可以工作。无论如何,非常感谢你。 - Elham Gdz
2个回答

9

由于您设置了 android:layout_width="match_parent",所以 TextView 占用了所有的宽度,因此您设置的 drawablePadding 将不起作用。因此,您需要设置 android:layout_width="wrap_content"

请尝试以下代码:

<TextView
    android:id="@+id/error_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawablePadding="0dp"
    android:layout_marginBottom="2dp"
    android:drawableRight="@drawable/ic_launcher"
    android:gravity="center"
    android:textColor="#aa0000"
    android:textSize="16dp"
    android:text="adsfasdfa"
    android:textStyle="bold"
    android:visibility="invisible" />

5

您应该设置属性android:drawablePadding="0dp"

或者在您的Java代码中,调用textView.setCompoundDrawablePadding(0);


你不能将int设置为android:drawablePadding - SilentKiller
@Robin,sp 用于文本,最好将 dp 保留给边距和填充。 :) - SilentKiller

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接