Android: установить фильтр оттенков серого для imageView

Я использую эту библиотеку, чтобы показать изображение SVG в imageView, я хочу показать заблокированный и разблокированный режим с этим imageView, когда состояние заблокировано, покажите imageView в цветном фильтре оттенков серого. что-то вроде этого кода на CSS:

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

Как я могу это сделать? Кто-нибудь может мне помочь? Спасибо

1 ответ

Вы должны быть в состоянии сделать изображение серым и блеклым, используя следующее:

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);
}
Другие вопросы по тегам