Ресурсы для рисования на Android: динамически менять цвет значка / «фон»? - PullRequest
2 голосов
/ 11 сентября 2011

У меня есть png-файл, который является прозрачным снаружи, который используется в качестве изображения значка где-то в моем пользовательском интерфейсе;Я бы хотел, чтобы пользователь мог указать для него другой цвет во время выполнения (как на изображении слева ниже, при условии, что у меня есть значок Android);или другое фоновое изображение (изображение справа внизу, предположим, что значок представляет собой форму, объединяющую круг и треугольник).Я прочитал этот пост , который использовал ColorFilter, чтобы установить все пиксели белого цвета на другой цвет в коде;но это не позволяет мне менять «фон» иконки.Я думаю, что я, вероятно, могу сделать это с ClipDrawable, но я не могу понять, как.

A: Suppose I have the android icon B: Suppose the icon is a shape combining a circle and a triangle)

1 Ответ

1 голос
/ 11 сентября 2011

Если вы используете ImageView, вы можете установить также источник изображения (android:src), а также фон для изображения (android:background). Поэтому, если ваше изображение имеет прозрачную область или область с альфа-каналом, для этих пикселей будет использоваться цвет фона.

Цвет фона может быть изменен динамически. Вы можете использовать этот подход?

    imageView.setBackgroundColor(0x00FF0000); // red
...