Страницы

Поиск по вопросам

вторник, 26 февраля 2019 г.

ImageView и покрывающий его круглый прозрачный градиент

Дано:
ImageView, в который загружена круглая .png картинка.
Как программно добавить поверх картинки круглый градиент из drawable.xml ?
При этом сквозь градиент должно быть видно картинку.
UPD:
ImageView я добавляю на экран кодом:
linearLayout.addView(imageView)
При клике на ImageView нужно, чтобы появился прозрачный градиент в этом ImageView и через определенное время убрался.
По идеи можно прописать все ImageView(их 50, кол-во не меняется) в layout'е и обернуть ImageView в какой нибудь lаyout, добавив в него еще одну ImageView с градиентом, которую я буду делать визибл при нажатии.
На сколько плохо такое решение будет ?
Код как я добавляю картинки:
LinearLayout layout = (LinearLayout) findViewById(R.id.ll); for (int i = 0; i < 50; i++) { ImageView imageView = new ImageView(this); imageView.setId(i); imageView.setPadding(0, 0, 8, 0); imageView.setImageBitmap(BitmapFactory.decodeResource( getResources(), R.drawable.pic1)); imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); layout.addView(imageView); }


Ответ

Согласно en-SO делается это с помощью android:type="radial" так:

Прозрачность при этом делается проставлением значений альфа-канала в цвете. Это первые две цифры.
При этом, чтобы градиент был сверху изображения можно
Использовать selector картинку поместить в фон, а градиент как изображение ImageView Или наложить поверх ImageView ещё один ImageView, в коий и поместить градиент любым способом. Извратиться, перевести оба изображения в BitMap и наложить попиксельно)

Комментариев нет:

Отправить комментарий