Odpowiedzi:
Nie, nie ma. Zobacz, jak brakuje sekcji „Powiązane atrybuty XML” w dokumentacji ImageView.setAlpha (int) . Alternatywą jest użycie View.setAlpha (float), którego odpowiednikiem XML jest android:alpha
. Zajmuje zakres od 0,0 do 1,0 zamiast od 0 do 255. Użyj go np. Jak
<ImageView android:alpha="0.4">
Jednak ta ostatnia jest dostępna dopiero od poziomu API 11.
To łatwiejsze niż inna odpowiedź. Istnieje wartość xml, alpha
która przyjmuje podwójne wartości.
android:alpha="0.0"
to jest niewidoczne
android:alpha="0.5"
widzieć przez
android:alpha="1.0"
w pełni widoczne
Tak to działa.
setAlpha(float)
i android:alpha
tylko od API 11 (Android 3.0). W przypadku wcześniejszych wersji API 11 należy użyć kodu, aby ustawić alfa dla obrazu. Jak już powiedział sschuberth w anser powyżej.
Nie jestem pewien co do XML, ale możesz to zrobić za pomocą kodu w następujący sposób.
ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);
W wersji pre-API 11:
W API 11+:
alpha
nie ma odpowiednika atrybutu XML, skoro mają różne rozmiary i pozycje.
Może pomocna alternatywa dla jednokolorowego tła:
Umieść LinearLayout na ImageView i użyj LinearLayout jako filtru krycia. W poniższym przykładzie z czarnym tłem:
<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>
Zmieniaj android tło atrybut LinearLayout między # 00000000 (całkowicie przezroczysty) i # FF000000 (całkowicie nieprzezroczysta).
Istnieje teraz alternatywa XML:
<ImageView
android:id="@+id/example"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/example"
android:alpha="0.7" />
To jest: android: alpha = "0.7"
Z wartością od 0 (przezroczysty) do 1 (nieprzezroczysty).
użyj android: alpha = 0.5, aby osiągnąć krycie 50% i zmienić ikony Android Material z czarnego na szary.
Alfa może być ustawiona wraz z kolorem, używając następującego formatu szesnastkowego #ARGB lub #AARRGGBB. Zobacz http://developer.android.com/guide/topics/resources/color-list-resource.html
ImageView.setAlpha(int)
jest biorącint
jednocześnieandroid:alpha
bierze pływaka, tak ściśle mówiąc ten ostatni nie jest dokładnym odpowiednikiem XML do tego pierwszego, ale jest to odpowiednikView.setAlpha(float)
. I jak już wielokrotnie wspomniano,android:alpha
/View.setAlpha(float)
są dostępne tylko od poziomu API 11.