android – 如何将所有孩子的颜色过滤器应用于视图

如何统一整理一个包含许多不同项目的视图 – ImageViews,TextViews,背景图像.我必须单独地将每件事物灰色化吗?还是有一种方法来应用相同的滤色镜?

解决方法

除非有其他人有更好的答案,否则我目前的方法是将每个项目分开地变灰.
PorterDuffColorFilter greyFilter = new PorterDuffColorFilter(Color.GRAY,PorterDuff.Mode.MULTIPLY);
myLayout.getBackground().setColorFilter(greyFilter);
myImageView.setColorFilter(greyFilter);
myTextView.setTextColor(0xff777777);

对于更多或嵌套的孩子,大概一个具有instanceof的循环是合适的,但是我不需要它.

编辑:这个过滤器实际上不是灰色的,更好的过滤器在这里Drawable => grayscale哪些可以以相同的方式使用.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...