Ответы:
Нет, посмотрите, как отсутствует раздел «Связанные атрибуты XML» в документации ImageView.setAlpha (int) . Альтернативой является использование View.setAlpha (float), чьим XML-аналогом является android:alpha
. Он принимает диапазон от 0,0 до 1,0 вместо 0 до 255. Используйте его, например, как
<ImageView android:alpha="0.4">
Однако последний доступен только с уровня API 11.
Это проще, чем другой ответ. Существует значение xml, alpha
которое принимает двойные значения.
android:alpha="0.0"
это невидимо
android:alpha="0.5"
смотреть сквозь
android:alpha="1.0"
полностью видимый
Вот как это работает.
setAlpha(float)
и android:alpha
только с API 11 (Android 3.0). В предыдущих версиях API 11 для установки альфа-канала изображения необходимо использовать код. Как sschuberth уже сказал в ансере выше.
Я не уверен насчет XML, но вы можете сделать это с помощью кода следующим образом.
ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);
В pre-API 11:
В API 11+:
alpha
нет аналога XML-атрибута, когда есть разные размеры, позиции.
Может быть полезной альтернативой однотонному фону:
Поместите LinearLayout поверх ImageView и используйте LinearLayout в качестве фильтра непрозрачности. В следующем небольшом примере с черным фоном:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF000000" >
<RelativeLayout
android:id="@+id/relativeLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_stop_big" />
<LinearLayout
android:id="@+id/opacityFilter"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#CC000000"
android:orientation="vertical" >
</LinearLayout>
</RelativeLayout>
Варьируйте Android: фон атрибут LinearLayout между # 00000000 (полностью прозрачный) и # FF000000 (полностью непрозрачный).
используйте android: alpha = 0.5, чтобы добиться непрозрачности 50% и переключить значки материалов Android с черного на серый.
Альфа-канал может быть установлен вместе с цветом, используя следующий шестнадцатеричный формат #ARGB или #AARRGGBB. См. Http://developer.android.com/guide/topics/resources/color-list-resource.html.
ImageView.setAlpha(int)
занимает некотороеint
времяandroid:alpha
, принимает плавающее значение, поэтому, строго говоря, последний не является точным XML-аналогом первого, но он является аналогомView.setAlpha(float)
. И, как уже упоминалось здесь несколько раз,android:alpha
/View.setAlpha(float)
доступны только с уровня API 11.