Czy naprawdę nie ma odpowiednika atrybutu XML setAlpha(int)
?
Jeśli nie, jakie są alternatywy?
Czy naprawdę nie ma odpowiednika atrybutu XML setAlpha(int)
?
Jeśli nie, jakie są alternatywy?
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.
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.To łatwiejsze niż inna odpowiedź. Istnieje wartość xml,
alpha
która przyjmuje podwójne wartości.android:alpha="0.0"
to jest niewidoczneandroid:alpha="0.5"
widzieć przezandroid:alpha="1.0"
w pełni widoczneTak to działa.
źródło
setAlpha(float)
iandroid: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.
W wersji pre-API 11:
W API 11+:
źródło
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:
Zmieniaj android tło atrybut LinearLayout między # 00000000 (całkowicie przezroczysty) i # FF000000 (całkowicie nieprzezroczysta).
źródło
Istnieje teraz alternatywa XML:
To jest: android: alpha = "0.7"
Z wartością od 0 (przezroczysty) do 1 (nieprzezroczysty).
źródło
użyj android: alpha = 0.5, aby osiągnąć krycie 50% i zmienić ikony Android Material z czarnego na szary.
źródło
setAlpha(int)
jest przestarzałe od API16
:Android 4.1
Użyj
setImageAlpha(int)
zamiast tegoźródło
Użyj tego formularza do starożytnej wersji Androida.
źródło
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
źródło