'Android - change send icon's color on ImageButton

How to change the default color of send icon on this ImageButton?

<ImageButton
    android:id="@+id/ImageButton1"
    android:layout_width="0dp"
    android:paddingTop="5dip"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:background="@null"
    android:gravity="right"
    android:scaleType="center"
    android:src="@android:drawable/ic_menu_send" />

enter image description here

I want to use gray instead of current white color.



Solution 1:[1]

Add tint attribute and you can set any color you want. Also you can set android:tintMode attribute (Which says how the color should apply).

 <ImageButton
        android:id="@+id/ImageButton1"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:adjustViewBounds="true"
        android:background="@null"
        android:gravity="right"
        android:paddingTop="5dip"
        android:scaleType="center"
        android:tint="@color/colorAccent"
        android:src="@android:drawable/ic_menu_send" />

Solution 2:[2]

You can use colorFilter on image view and can give any color runtime.

iv.setColorFilter(getResources().getColor(R.color.color_gray),
                PorterDuff.Mode.SRC_ATOP);

Solution 3:[3]

Add android:tint attribute to set the icon colour.

<ImageButton
    android:id="@+id/ImageButton1"
    android:layout_width="0dp"
    android:paddingTop="5dip"
    android:layout_weight="1"
    android:tint="@color/background_red"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:background="@null"
    android:gravity="right"
    android:scaleType="center"
    android:src="@android:drawable/ic_menu_send" />

Solution 4:[4]

enter image description here

put this image in your drawable folder and then

save it in drawable as an image

<ImageButton
        android:id="@+id/ImageButton1"
        android:layout_width="0dp"
        android:paddingTop="5dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:background="@null"
        android:gravity="right"
        android:scaleType="center"
        android:src="@android:drawable/img" />

Solution 5:[5]

download icon put inside drawable folder

Download Icon

<ImageButton
        android:id="@+id/ImageButton1"
        android:layout_width="0dp"
        android:paddingTop="5dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:background="@null"
        android:gravity="right"
        android:scaleType="center"
        android:src="@drawable/downloded_icon_send" />

Solution 6:[6]

You can use the below code to change it programmatically:

Drawable drawableTint = DrawableCompat.wrap(getResources()
        .getDrawable(imageResID)).mutate();
DrawableCompat.setTint(drawableTint, 
        ContextCompat.getColor(getContext(), R.color.colorTint));

yourImageButton.setImageDrawable(drawableTint);

Solution 7:[7]

you can put your costomize image in you drawable then you can use it as image src

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Tharindu Welagedara
Solution 2 Wasim K. Memon
Solution 3 Reaz Murshed
Solution 4 Boken
Solution 5 Boken
Solution 6 Fakhriddin Abdullaev
Solution 7 krishna