解决方法
除非有其他人有更好的答案,否则我目前的方法是将每个项目分开地变灰.
PorterDuffColorFilter greyFilter = new PorterDuffColorFilter(Color.GRAY,PorterDuff.Mode.MULTIPLY); myLayout.getBackground().setColorFilter(greyFilter); myImageView.setColorFilter(greyFilter); myTextView.setTextColor(0xff777777);
对于更多或嵌套的孩子,大概一个具有instanceof的循环是合适的,但是我不需要它.
编辑:这个过滤器实际上不是灰色的,更好的过滤器在这里:Drawable => grayscale哪些可以以相同的方式使用.