Android TextView drawable, change padding between drawable and text?

后端 未结 4 654
囚心锁ツ
囚心锁ツ 2020-12-30 18:14

I am creating a TextView with a drawable underneath, in a GridLayout.

I want to bring the drawable to the middle of the TextView

相关标签:
4条回答
  • 2020-12-30 18:52
      <Button
                android:id="@+id/otherapps"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@drawable/btn_background"
                android:text="@string/other_apps"
                android:layout_weight="1"
                android:fontFamily="cursive"
                android:layout_marginBottom="10dp"
                android:drawableLeft="@drawable/ic_more"
                android:paddingLeft="8dp" //for drawable padding to the left
                android:textColor="@android:color/holo_red_light" />`enter code here`
    
    0 讨论(0)
  • 2020-12-30 18:59

    In XML:

    android:drawablePadding = paddingValue
    

    or

    Programmatically:

    TextView txt;
    
    txt.setCompoundDrawablePadding(paddingValue)
    

    android:drawablePadding is the easiest way to give padding to the drawable icon but you can not give specific one side padding like paddingRight or paddingLeft of the drawable icon. This gives padding to either side of the drawable.

    0 讨论(0)
  • 2020-12-30 19:02

    You can use layer-list.

    Before:

    Create xml for shape - shape_rectangle.xml :

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:right="5dp">
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <solid android:color="@color/my_color" />
            <size
                android:width="5dp"
                android:height="5dp" />
        </shape>
    </item>
    </layer-list>
    

    After:

    In xml, there is something like android:right. You can add also top,left,bottom. This way you can give for example: padding left and right to drawable without resizing total height of textView.

    0 讨论(0)
  • 2020-12-30 19:13

    You'll need to combine drawablePadding and padding to get the desired result.

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