Android 在imageview中使用不同的颜色为两个图像着色
我有一个图像视图,其中有两个图像。看起来是这样的:Android 在imageview中使用不同的颜色为两个图像着色,android,imageview,Android,Imageview,我有一个图像视图,其中有两个图像。看起来是这样的: Resources r = getResources(); Drawable[] layers = new Drawable[2]; layers[0] = r.getDrawable(R.drawable.dreieck); layers[1] = r.getDrawable(R.drawable.dreieck_90); LayerDrawable layerD
Resources r = getResources();
Drawable[] layers = new Drawable[2];
layers[0] = r.getDrawable(R.drawable.dreieck);
layers[1] = r.getDrawable(R.drawable.dreieck_90);
LayerDrawable layerDrawable = new LayerDrawable(layers);
layers[0].setColorFilter(ContextCompat.getColor(this, android.R.color.holo_red_light),
PorterDuff.Mode.DST_ATOP);
layers[1].setColorFilter(ContextCompat.getColor(this, android.R.color.holo_green_light),
PorterDuff.Mode.DST_ATOP);
// final LayerDrawable layerDrawable = (LayerDrawable) ContextCompat.getDrawable(MainActivity.this, R.drawable.layer);
//
// layerDrawable.findDrawableByLayerId(R.id.tri1).setColorFilter(ContextCompat.
// getColor(this, android.R.color.holo_red_light),
// PorterDuff.Mode.DST_ATOP);
// layerDrawable.findDrawableByLayerId(R.id.tri2).setColorFilter(ContextCompat.
// getColor(this, android.R.color.holo_green_light),
// PorterDuff.Mode.DST_ATOP);
// imageView.setImageDrawable(layerDrawable);
imageView.setImageDrawable(layerDrawable);
你怎么看,我的图像是两个三角形。现在我想用不同的颜色给它们上色。我试过这样的方法:
Resources r = getResources();
Drawable[] layers = new Drawable[2];
layers[0] = r.getDrawable(R.drawable.dreieck);
layers[1] = r.getDrawable(R.drawable.dreieck_90);
LayerDrawable layerDrawable = new LayerDrawable(layers);
layers[0].setColorFilter(ContextCompat.getColor(this, android.R.color.holo_red_light),
PorterDuff.Mode.DST_ATOP);
layers[1].setColorFilter(ContextCompat.getColor(this, android.R.color.holo_green_light),
PorterDuff.Mode.DST_ATOP);
// final LayerDrawable layerDrawable = (LayerDrawable) ContextCompat.getDrawable(MainActivity.this, R.drawable.layer);
//
// layerDrawable.findDrawableByLayerId(R.id.tri1).setColorFilter(ContextCompat.
// getColor(this, android.R.color.holo_red_light),
// PorterDuff.Mode.DST_ATOP);
// layerDrawable.findDrawableByLayerId(R.id.tri2).setColorFilter(ContextCompat.
// getColor(this, android.R.color.holo_green_light),
// PorterDuff.Mode.DST_ATOP);
// imageView.setImageDrawable(layerDrawable);
imageView.setImageDrawable(layerDrawable);
现在,两个三角形将使用相同的颜色着色。我怎样才能把它们涂成不同的颜色