用特定的颜色填充可绘制图像的透明部分

时间:2018-10-29 04:40:33

标签: android drawable

当前,我将在工具栏中使用此后退箭头

enter image description here

我要填充的中间部分是作为中间部分的特定颜色是透明部分。

当前我所拥有的是:

Drawable backArrow = getResources().getDrawable(R.drawable.ic_back);
        backArrow.setColorFilter(getResources().getColor(R.color.aub_red), PorterDuff.Mode.SRC_ATOP);
        getSupportActionBar().setHomeAsUpIndicator(backArrow);

仅将白色部分的颜色更改为红色,这是错误的。我要为透明部分填充一种颜色,而不是非透明部分。

2 个答案:

答案 0 :(得分:0)

您可以使用:

DrawableCompat.setTint(yourdrawable,getResources().getColor(R.color.primary));

在Java代码或xml标签中:

android:backgroundTint="@color/primary"

答案 1 :(得分:0)

使用了

 Drawable backArrow = getResources().getDrawable(R.drawable.ic_back);
    backArrow.setColorFilter(getResources().getColor(R.color.colorAccent), PorterDuff.Mode.LIGHTEN);
    getSupportActionBar().setHomeAsUpIndicator(backArrow);

有关更多信息,click hear