Это можно сделать только с одним файлом изображения, используя метод ColorFilter. Однако ColorFilter рассчитан на работу с ImageViews, а не с кнопками, поэтому вам нужно преобразовать свои кнопки в ImageViews. Это не проблема, если вы используете изображения в качестве кнопок в любом случае, но это более раздражает, если у вас есть текст ... В любом случае, если вы найдете способ обойти проблему с текстом, вот код для использования:
ImageView button = (ImageView) findViewById(R.id.button);
button.setColorFilter(0xFFFF0000, PorterDuff.Mode.MULTIPLY);
Применительно к кнопке применяется красное наложение (цветовой код - это шестнадцатеричный код для полностью непрозрачного красного - сначала две цифры - прозрачность, затем RR GG BB.).
Вы можете сделать свои ImageViews похожими на обычные кнопки, скопировав файл btn_default_normal.9.png из вашей sdkfolder / platform / (android version / data / res / drawable в ваш собственный проект. Затем в вашем ImageView используйте android:background="@drawable/btn_normal_default"
и android:src="..."
чтобы установить изображение внутри кнопки.