代码之家  ›  专栏  ›  技术社区  ›  dotGitignore

ImageView是否删除色调?

  •  1
  • dotGitignore  · 技术社区  · 6 年前

    Remove Tint Color Programmatically ,但它标记为重复,所以我不知道这是否也是一个重复?因为它没有回答我的问题,我想。

    因为我也在问是否有可能 颜色 ImageView 更换后 drawable .

    这是正常的图像

    enter image description here

    enter image description here

    这是在取消选择图像后的正常图像

    enter image description here

    这是我的密码。

    if (isSelected) {
        // Reset the ImageView to normal
        isSelected = false
        imgHeart.setImageDrawable(itemView.context.getDrawable(R.drawable.baseline_favorite_border_24))
    } else {
        // Tint ImageView to Red
        isSelected = true
        imgHeart.setImageDrawable(itemView.context.getDrawable(R.drawable.baseline_favorite_24))
        imgHeart.imageTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.colorRedHeart))
    }
    

    imgHeart.imageTintList = null 但图像正在变白或消失。 imgHeart.colorFilter = null 但这个形象是什么也不做,变成最后一个形象。

    Material Design Icon .

    我想让图像恢复正常 可拉伸的 正如你在第一张图中看到的。

    1 回复  |  直到 6 年前
        1
  •  0
  •   user8959091 user8959091    6 年前

    所选的可拉伸材料与其他2种完全不同。你不能染色 baseline_favorite_border_24 imageTintList 要求 API 21+ .
    baseline_favorite_filled_24 在它们之间切换。

    if (isSelected) {
        isSelected = false
        imgHeart.setImageDrawable(itemView.context.getDrawable(R.drawable.baseline_favorite_border_24))
    } else {
        isSelected = true
        imgHeart.setImageDrawable(itemView.context.getDrawable(R.drawable.baseline_favorite_filled_24))
    }