У меня есть три ImageViews, как и левая фотография внизу. Я хочу установить там альфа. Как установить Android ImageView alpha так?
Но ... я установил iv.setAlpha() или iv.setImageAlpha() приведет, как это ...
Что я могу сделать?
У меня есть три ImageViews, как и левая фотография внизу. Я хочу установить там альфа. Как установить Android ImageView alpha так?
Но ... я установил iv.setAlpha() или iv.setImageAlpha() приведет, как это ...
Что я могу сделать?
Вам не нужно устанавливать альфа-значение этих изображений. Вы можете просто поставить View над этим ImageViews и установить его фон, чтобы цвет, как это: # 33ffffff
EDIT:
Если вы хотите изменить только три imageviews (исключите весь фон), вы можете использовать это на каждом ImageView:
imageView.setColorFilter(Color.parse("#33ffffff"));
Если у него черный фон, то фон также будет иметь эту непрозрачность. Но если он применяет «маску» только к каждому «ImageView», это не происходит. – luiscosta
@luiscosta Вы правы, но используете ресурс изображения, поскольку фон изображения является обычно не очень подходящим. Например, ширина и высота ресурса не подходят для размера изображения и у него есть атрибут scaleType в xml-файле. – hanswim
Вы правы, использование его на «фоне» не очень хорошо, но оно работает, если ему не нужно масштабировать изображения. Кроме того, см. Мой EDIT для другого подхода. – luiscosta
Я вижу, вы не хотите, чтобы alpha
но вы хотите mask
. A white mask
, если быть точным.
Вместо того, чтобы положить альфа в вашем ImageView
использования что-то вроде этого, вместо:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/your_picture"
android:src="#55FFFFFF" />
В этом случае я использовал изображение, я хотел как background
и я применил white mask
в src
.
EDIT
Другой подход это применение alpha
вы хотите каждого ваших ImageView
с, имея каждый внутри LinearLayout
как это:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFFFFF" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/your_picture" />
</LinearLayout>
Очень приятно! Мне нравится это. –
или просто 'android: src =" @ drawable/your_picture "' 'android: background =" # fff "' и вызывать 'setImageAlpha' с альфой, которую вы хотите – pskink
@pskink Я не тестировал этот подход. Я не могу сказать, влияет ли 'alpha' на« фон »в каком-то API или нет, но если вы так говорите. – luiscosta
Использование 'setImageAlpha () ', попробуйте также установить фон' ImageView 'в сплошной белый. То есть, iv.setBackgroundColor (Color.WHITE); '. –