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);
现在,两个三角形将使用相同的颜色着色。我怎样才能把它们涂成不同的颜色