@newdancer

Как сделать множество разноцветных круглых imageview через один dravable xml?

Как сделать множество разноцветных круглых imageview через один dravable xml?
При выборе пользователя мне необходимо изменять цвет круглой картинки. Как это сделать не создавая множество drawable?
К примеру есть круг:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:dither="true"
       android:shape="oval" >
    <solid android:color="#FF0000" />
    <size
        android:height="40dp"
        android:width="40dp" />
</shape>

Как передавать свой цвет в параметр solid? Или же использовать накладывание маски с цветом фона поверх этого imageview?
  • Вопрос задан
  • 318 просмотров
Решения вопроса 1
a13xsus
@a13xsus
Lazy developer
Напишу на C#, на Java, думаю, сами перепишите, там точно так же

убираем цвет <solid android:color="#FF0000" /> из шейпа.

в коде меняем через SetColorFilter, он вроде как уже deprecated, но у вас min API 14:

imgview.Background.SetColorFilter(Resources.GetColor(Resource.Color.blue), PorterDuff.Mode.Add);


соответственно в Colors.xml нужно определить цвета:

<?xml version="1.0" encoding="UTF-8" ?>
<resources>
	<color name="blue">#0000ff</color>
</resources>


Соответственно когда нужно через ClearColorFilter() убираете цвет и меняете на другой.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы