Дано:
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 и наложить попиксельно)
Комментариев нет:
Отправить комментарий