应用ColorFilter但在PNG文件中保留透明阴影

And*_*oid 6 android drawable colorfilter

我正在应用ColorFilter,Drawable我想知道是否可以改变drawable的颜色但保留阴影.

像这样的东西:

在此输入图像描述

如果您应用了以下内容:

view.getBackground().setColorFilter(new PorterDuffColorFilter(itemView.getResources().getColor(R.color.green_500), PorterDuff.Mode.SRC_IN);
Run Code Online (Sandbox Code Playgroud)

它会应用ColorFilter但保留阴影和alpha值.

我怎样才能做到这一点?

Pas*_*llo 1

实现您想要的效果的正确(可能也是唯一)方法是将可绘制对象拆分为多个图层,并使用 LayerDrawable 来组合它们。那时,您可以拥有可以更改的颜色层(您甚至不需要使用波特达夫)