Android - использование ресурса изображения несколько раз, но изменение альфа только на 1 экземпляре - PullRequest
2 голосов
/ 07 августа 2010

Я почти уверен, что видел конкретную команду для этого, но я не могу вспомнить, как она называется, а это значит, что я не могу Google это!

Если у меня есть ресурс изображения, например, R.drawable.myimage, который используется в Linearview более одного раза, и я хочу изменить альфа только для одного вхождения этого изображения (обычно, изменение альфа изменяет все вхождения этого изображения), какую команду я использую«отсоединить» изменения этого изображения.

Ответы [ 2 ]

1 голос
/ 11 мая 2011

Взгляните на Drawable.mutate().

Вот пример кода, который я использовал. Я думаю, что это информативно.

Drawable icon = context.getResources().getDrawable(R.drawable.actions_icon);

iconView.setImageDrawable(icon);        

if (action.isNew()) {
    icon.setAlpha(50);
}
else {
    icon.setAlpha(255);
}

Вы также можете прочитать статью о Drawable мутациях

Надеюсь, это поможет!

0 голосов
/ 08 января 2012

Это будет работать и в этом коде ...

Paint gpaint = new Paint(Paint.ANTI_ALIAS_FLAG);
gpaint.setAlpha(whatever number you want alpha);

canvas.drawBitmap(MainMenu.dressgirl, drx,dry,gpaint);

все остальные могут быть

canvas.drawBitmap(MainMenu.dressgirl, drx,dry,null);
...