Skip to content

raveeshbhalla/proteus

Repository files navigation

Proteus

A quick and simple way to paint your Drawables the color you want

Important: v1.0.2 expects black drawables (instead of white from before). This was done to work better with the Vector Assets importing tool in Android Studio, which colors imported SVGs black by default.

How it works

Proteus comes with a custom ImageView and an ImageButton. Simply use that in your XML files, and set the "app:paint" data as per your requirements. For example

<in.raveesh.proteus.ImageView
   android:id="@+id/imageView"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:src="@drawable/ic_action_thumbs_up"
   app:paint="@android:color/black"/>

You could also do this from your Java code using either of the two functions

imageView.setPaintResource(android.R.color.holo_blue_bright);

or

imageView.setPaint(color);

While it doesn't natively support setting a colorized version of a Drawable as a View's background, you could use the following bit of code to get a colored Bitmap, which you can use anywhere as per your requirements.

Bitmap bmp = Proteus.getColoredBitmap(Drawable src, int color);

How to use it

All my libraries will now be distributed via Jitpack. Add the following lines to your build.gradle file

repositories {
    maven { url "https://jitpack.io" }
}

dependencies {
    compile 'com.github.raveeshbhalla:proteus:1.0.2'
}

Android Arsenal