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

Fill the transparent part of the drawable image a specific color

目前,我有一个要在工具栏中使用的后退箭头

我要的是填充中间部分,具体颜色是中间部分是透明部分

目前我拥有的是:

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

只是把白色部分的颜色改成了红色,这是错误的。我想用一种颜色填充透明部分而不是非透明部分。

您可以使用:

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

在 java 代码中,或在 xml 标签中:

android:backgroundTint="@color/primary"

用过这个

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

了解更多信息click hear