如果图标着色,NavigationView会对图标进行着色。我的图标是绿色的,在 NavigationView 中是灰色的。这是如何运作的?
我想自己在另一个视图中执行此操作,但我没有找到 NavigationView 如何执行此操作。
如果图标着色,NavigationView会对图标进行着色。我的图标是绿色的,在 NavigationView 中是灰色的。这是如何运作的?
我想自己在另一个视图中执行此操作,但我没有找到 NavigationView 如何执行此操作。
这篇博文解释了可绘制对象的 AppCompat 着色。这是你要找的吗?
Lollipop 中添加的 Drawable 着色方法对于让您动态着色资产非常有用。AppCompat 在 v21 支持库中有自己的实现,我们现在将其提取到 support-v4 中的 DrawableCompat 中供所有人使用。重要的是要知道它是如何工作的。
Drawable drawable = ...; // Wrap the drawable so that future tinting calls work // on pre-v21 devices. Always use the returned drawable. drawable = DrawableCompat.wrap(drawable); // We can now set a tint DrawableCompat.setTint(drawable, Color.RED); // ...or a tint list DrawableCompat.setTintList(drawable, myColorStateList); // ...and a different tint mode DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_OVER);
或者,如果您只想为 ImageView 着色,您可以这样做:
ImageView image = (ImageView) findViewById(R.id.image);
image.setColorFilter(...);