Попробуйте:
Button b = ...;
int color = ...;
...
CompoundButtonCompat.setButtonTintList(button, ColorStateList.valueOf(color));
Библиотеки Compat проверяют совместимость и устраняют большинство проблем, связанных с фрагментацией android.
Вы можете попытаться установить фон, вызвав библиотеку совместимости с set Метод цвета фона, но я предпочитаю, и, вероятно, наиболее распространенным является вызов методов подкрашивания для компонентов, которые поступают из appcompat и библиотеки дизайна материалов.
Надеюсь, это поможет.
BR