我的ImageView出现问题。顺便说一句,我正在使用CircularImageView,它具有一个属性app:selector_color。

这是方案。 ImageView有一个可绘制(src)。我想发生的是,当我单击ImageView时,我想向它添加色彩。

到目前为止,这是我尝试过的:

   viewHolder.ivProfile.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            result = data.get(position);

            int highlightColor = context.getResources().getColor(R.color.main_red_transparent);
            PorterDuffColorFilter colorFilter = new PorterDuffColorFilter(highlightColor, PorterDuff.Mode.SRC_ATOP);

            CircularImageView ci = (CircularImageView) v;

            if (thumbnailsselection[position]) {
                ci.setSelected(false);
                thumbnailsselection[position] = false;
                viewHolder.tvTitle.setVisibility(View.GONE);
            } else {
                ci.setSelected(true);
                ci.getDrawable().setColorFilter(highlightColor, PorterDuff.Mode.SRC_ATOP);
                thumbnailsselection[position] = true;
                viewHolder.tvTitle.setVisibility(View.VISIBLE);
                viewHolder.tvTitle.setText(result.get(NAME));
            }


        }
    });


但是此解决方案不起作用。这里有人尝试过吗?我很高兴得到任何帮助。提前致谢!

最佳答案

尝试使用选择器颜色代替设置过滤器,如下所示:

CircularImageView ci = ...;

ci.setSelected(true);
ci.setSelectorColor(highlightColor);

10-08 09:07
查看更多