

右のスクリーンショットのように
同じカメラアイコンの色違いを使っていますが、
これはそれぞれ画像を用意していません。
黒のカメラアイコンをAndroid Asset Studioで
作成して ColorFilter で色を変えています。
ColorFilter を使えば
色違いの画像をイチイチ用意しなくても良く、
リソース容量も節約できるので開発者にもユーザーにもやさしいです。
ColorFilter を使う方法は3つあります。
Drawable に setColorFilter を指定する方法
Drawable#setColorFilter(int, PorterDuff.Mode) | Android DevelopersImageView に setColorFilter を指定する方法
ImageView#setColorFilter(int, PorterDuff.Mode) | Android DevelopersImageView の XMLタグに tint 属性を指定する方法
ImageView#attr_android:tint | Android Developersどれも使い方は簡単なのでサンプルコードは省略します。
tint 属性では PorterDuff.Mode がPorterDuff.Mode#SRC_ATOPに固定されるので
@yanzmさんが PorterDuff.Mode を指定できるライブラリプロジェクトを公開しています。
Y.A.M の 雑記帳: Android ColorFilter を使う
色々な PorterDuff.Mode の指定結果のスクリーンショットもあるので一見の価値ありです。