Android ImageView的可绘制色调不起作用

时间:2015-09-16 10:26:14

标签: android imageview android-imageview

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

这就是场景。 ImageView有一个drawable(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));
            }


        }
    });

但是这个解决方案不起作用。这里有人试过这个吗?我很乐意感谢任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:1)

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

CircularImageView ci = ...;

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