使用不同颜色在imageview中着色两个图像

时间:2016-12-21 16:41:49

标签: android imageview

我有一个图像视图,里面有两个图像。它看起来像这样:

Imageview with two triangles

你怎么看,我的图像是两个三角形。现在我想用不同的颜色着色它们。我试着像这样:

        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);

现在,两个三角形都将使用相同的颜色进行着色。我怎样才能以不同的方式着色它们?

0 个答案:

没有答案