I have a screen where multiple Buttons use the same background Drawable. I have reusable code I use in various projects to add an OnTouch listener that adds a gray color fil
Example that should work for you:
Drawable buttonBackground = context.getResources().getDrawable(R.drawable.bg); buttonBackground = buttonBackground.mutate(); //Set your filter here