android:将灰度滤镜设置为imageView

mah*_*di 16 svg android imageview android-image androidsvg

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

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

我怎样才能做到这一点 ?有谁能够帮我 ?谢谢

Pau*_*eau 42

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

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
}
Run Code Online (Sandbox Code Playgroud)

然后重置它:

public static void  setUnlocked(ImageView v)
{
    v.setColorFilter(null);
    v.setImageAlpha(255);
}
Run Code Online (Sandbox Code Playgroud)