android:将灰度滤镜设置为imageView

时间:2015-02-03 20:40:57

标签: android svg imageview android-image androidsvg

我使用此library在imageView上显示svg图像,我希望使用此imageView显示锁定和解锁模式,当状态被锁定时,在灰度滤镜中显示imageView。 像css上的这段代码:

-webkit-filter: grayscale(100%); opacity: 0.5;

我该怎么做?有谁能够帮我 ? 感谢

1 个答案:

答案 0 :(得分:38)

您应该能够使用以下内容使图像灰度和褪色:

public static void  setLocked(ImageView v)
{
    ColorMatrix matrix = new ColorMatrix();
    matrix.setSaturation(0);  //0 means grayscale
    ColorMatrixColorFilter cf = new ColorMatrixColorFilter(matrix);
    v.setColorFilter(cf);
    v.setImageAlpha(128);   // 128 = 0.5
}

使用以下方法重置它:

public static void  setUnlocked(ImageView v)
{
    v.setColorFilter(null);
    v.setImageAlpha(255);
}