Android и настройка Альфа для (изображения) просмотра Альфа
действительно ли нет аналога атрибута XML для setAlpha(int)
?
если нет, то какие альтернативы есть?
9 ответов:
нет, нет, смотрите, как раздел "Связанные атрибуты XML"отсутствует на ImageView.setAlpha (int) документация. Альтернативой является использование вид.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"
полный виднавот как это работает.
Я не уверен насчет XML, но вы можете сделать это с помощью кода следующим образом.
ImageView myImageView = new ImageView(this); myImageView.setAlpha(xxx);
в pre-API 11:
- диапазон от 0 до 255 (включительно), 0 является прозрачным и 255 тупить.
в API 11+:
- диапазон от 0f до 1f (включительно), 0f является прозрачным и 1f является непрозрачным.
может быть, полезная альтернатива для одноцветной справочная информация:
поставить 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 (полностью непрозрачный).
теперь есть альтернатива XML:
<ImageView android:id="@+id/example" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/example" android:alpha="0.7" />
Это: android: alpha= "0.7"
значение от 0 (прозрачный) до 1 (непрозрачный).
используйте android: alpha=0.5 для достижения непрозрачности 50% и превращения значков материалов Android из черных в серые.
используйте эту форму для древней версии 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