На самом деле нет атрибута XML для setAlpha(int)
?
Если нет, какие существуют альтернативы?
На самом деле нет атрибута XML для setAlpha(int)
?
Если нет, какие существуют альтернативы?
Нет, нет, посмотрите, как раздел "Связанные 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"
thats invisible
android:alpha="0.5"
сквозной
android:alpha="1.0"
полная видимость
Как это работает.
Я не уверен в XML, но вы можете сделать это с помощью кода следующим образом.
ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);
В pre-API 11:
В API 11 +:
Возможно, полезная альтернатива для фона обычного цвета:
Поместите 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: background LinearLayout между # 00000000 (полностью прозрачным) и # FF000000 (полностью непрозрачным).
В настоящее время существует альтернатива 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 (непрозрачное).
используйте android: alpha = 0.5, чтобы достичь непрозрачности 50% и превратить значки Android Material из черного в серый.
Используйте эту форму для древней версии 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);
Альфу можно установить вместе с цветом, используя следующий шестнадцатеричный формат #ARGB или #AARRGGBB. См. http://developer.android.com/guide/topics/resources/color-list-resource.html