Действительно ли нет атрибута атрибута XML для setAlpha(int)
?Android и настройка альфа для изображения (изображения) alpha
Если нет, то какие существуют альтернативы?
Действительно ли нет атрибута атрибута XML для setAlpha(int)
?Android и настройка альфа для изображения (изображения) alpha
Если нет, то какие существуют альтернативы?
Нет, нет, см. Раздел «Связанные XML-атрибуты»: отсутствует в документации ImageView.setAlpha(int). Альтернативой является использование View.setAlpha(float), XML counterpart - android:alpha
. Он принимает диапазон от 0.0 до 1.0 вместо 0 до 255. Используйте его, например. как
<ImageView android:alpha="0.4">
Однако последний в наличии только с уровня API 11.
Я не уверен в XML, но вы можете сделать это с помощью кода следующим образом.
ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);
В пре-API 11:
В API 11+:
Да, я знаю. (Я надеялся, что это было скрыто в вопросе.) Одна точка XML - это лишить некоторых из этого кода. Для меня не имеет смысла, почему «alpha» не имеет аналога XML-атрибута, когда разные размеры, позиции. – SK9
Интересно, почему это устарело? это потому, что теперь у них есть параметр float? –
Да, вы можете использовать imageView.setAlpha (1.0f), но требуется уровень API 11. –
Альфу можно установить вместе с цветом, используя следующий шестнадцатеричный формат #ARGB или #AARRGGBB. См http://developer.android.com/guide/topics/resources/color-list-resource.html
Я хочу установить альфа изображения с помощью атрибута XML. Помогает ли это? – SK9
Я использую для этого, чтобы скрыть макеты над макетом с фоновым изображением, наверняка вы бы установили альфу изображения в самом изображении? – Grant
Что значит «в самом изображении»? В XML? Надзор может быть, но атрибут альфа-XML отсутствует. – SK9
Может быть полезной альтернатива для фона гладкокрашеной:
Помещенного 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 (полностью непрозрачный).
) Не совсем так, чтобы решить эту проблему, особенно на телефонном устройстве. –
не лучший ... но все же законный ответ. – ByteMe
Это отлично работает, когда вы просто хотите сделать фон прозрачным, но НЕ его дочерними элементами. Использование альфа в родительском контейнере делает все его дочерние элементы слишком прозрачными – noni
Это проще, чем другой ответ. Существует значение xml alpha
, которое принимает двойные значения.
android:alpha="0.0"
Thats невидимого
android:alpha="0.5"
сквозного
android:alpha="1.0"
видим полностью
Вот как это работает.
Существует 'setAlpha (float)' и 'android: alpha' только с API 11 (Android 3.0). Для предшествующего API 11 необходимо использовать код для установки альфы для изображения. Как уже говорилось в sschuberth в anser выше. – Salw
Это должен быть правильный ответ! – Antonio
@ Антонио Почему? Этот ответ не добавляет никакой информации поверх моей, а наоборот, менее полной. – sschuberth
Используйте эту форму для древней версии Android.
ImageView myImageView;
myImageView = (ImageView) findViewById(R.id.img);
AlphaAnimation alpha = new AlphaAnimation(0.5F, 0.5F);
alpha.setDuration(0);
alpha.setFillAfter(true);
myImageView.startAnimation(alpha);
Существует в настоящее время XML-альтернатива:
<ImageView
android:id="@+id/example"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/example"
android:alpha="0.7" />
Это: андроид: альфа = "0.7"
При значении от 0 (прозрачный) до 1 (непрозрачный) ,
использовать андроид: alpha = 0.5 для достижения непрозрачности 50% и превратить иконки Android Material из черного в серый.
Да, это можно сделать в xml. проверьте jfcogato ответ ниже. – AndroidDev
Даже если я просто повторяюсь здесь: 'ImageView.setAlpha (int)' принимает 'int', а' android: alpha' принимает float, так что, строго говоря, последнее не является точным XML-аналог первого, но он является экземпляром 'View.setAlpha (float)'. И, как уже упоминалось несколько раз здесь, 'android: alpha' /' View.setAlpha (float) 'доступны только с уровня API 11 . – sschuberth
разница в том, что допустимый диапазон равен 0-1 для float one и 0-255 для int one. – ataulm