На самом деле нет атрибута 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