Set actual text padding in TextView with compound drawables

后端 未结 3 2049
野趣味
野趣味 2021-02-12 11:38

I have a ListView populated with an ArrayAdapter. For items I use just a single TextView layout. I want some of the rows to have compound

相关标签:
3条回答
  • 2021-02-12 11:54

    Quite simple:

    android:drawablePadding="5dp"
    

    It will automatically use the padding according to the direction.

    0 讨论(0)
  • 2021-02-12 12:02

    I'm posting this as an answer so that someone, who comes across this post finds the answer.

    There's no direct way to set a padding only to text, but you can set a positive padding to the whole TextView and set a negative padding for the drawable.

    0 讨论(0)
  • 2021-02-12 12:08

    Improving on Gio's sugestion, which is probably for a dated API/SDK...

    TL:DR - just apply android:drawablePadding to increase distance between image and text.

    Explanation: android:drawablePadding now applies padding between CompoundDrawable and original View, in this case the TextView containing the text;

    android:padding and modifiers now apply to the whole group, including all compounds.

    Doing the negative-positive hack doesn't seem to work no more.

    So depending on the drawable position (drawableTop/Left/...), the padding will apply in the opposite direction of it, right next to the drawable, in other words between the two elements. For instance, Applying drawablePadding="10dp" to a left placed drawable would have a similar effect as setting an individual ImageView to the left of the TextView with paddingRight="10dp" (at least padding-wise).

    0 讨论(0)
提交回复
热议问题