答案 0 :(得分:1)
您可以为ImageView
应用颜色色调。这不会影响你的背景,如果它是透明的,只有彩色部分(圆圈和加号)
imageView.setColorFilter(ContextCompat.getColor(context, R.color.COLOR_YOUR_COLOR),
android.graphics.PorterDuff.Mode.MULTIPLY);
更新
使用android.graphics.PorterDuff.Mode.SRC_IN
也可以使用(如果您不需要将源像素和目标像素相乘)
更新2
由于目标部分没有着色而不是最佳解决方案,因此使用VectorDrawable
。
您可以使用VectorChildFinder查找SVG资源的内部部分并更改其颜色。
VectorChildFinder vector = new VectorChildFinder(this, R.drawable.my_vector, imageView);
VectorDrawableCompat.VFullPath path1 = vector.findPathByName("path1");
path1.setFillColor(Color.RED);
imageView.invalidate();
要创建SVG,请按以下步骤操作: