boxShadow jest dostępne tylko w Nowej Architekturze. Cienie zewnętrzne są obsługiwane tylko w Androidzie 9+. Cienie wewnętrzne są obsługiwane tylko w Androidzie 10+.
Dodaje efekt cienia do elementu z możliwością kontroli pozycji, koloru, rozmiaru i rozmycia cienia. Cień może pojawiać się na zewnątrz lub wewnątrz obramowania elementu, w zależności od tego, czy jest to cień wewnętrzny. Jest to zgodna ze specyfikacją implementacja tej samej właściwości stylu webowego. Więcej informacji o dostępnych argumentach znajdziesz w dokumentacji BoxShadowValue.
Cienie te można łączyć, dzięki czemu pojedynczy boxShadow może składać się z wielu różnych cieni.
W iOS 17+ ustawienie wartości pointer umożliwia efekty hover, gdy wskaźnik (np. trackpad lub rysik w iOS lub wzrok użytkownika w visionOS) znajduje się nad widokiem.
Ustawia elewację widoku przy użyciu natywnego interfejsu elewacji Androida. Dodaje to cień padający do elementu i wpływa na kolejność z-index dla nakładających się widoków. Obsługiwane tylko w Androidzie 5.0+, bez efektu we wcześniejszych wersjach.
Dodaje filtr graficzny do View. Filtr ten składa się z dowolnej liczby funkcji filtrujących, z których każda reprezentuje atomową zmianę w kompozycji graficznej View. Pełna lista dostępnych funkcji filtrujących jest zdefiniowana poniżej. filter będzie stosowany zarówno do potomków View, jak i do samego View. filter implikuje overflow: hidden, więc potomkowie zostaną przycięci do granic View.
Następujące funkcje filtrujące działają na wszystkich platformach:
brightness: Zmienia jasność View. Przyjmuje nieujemną liczbę lub wartość procentową.
opacity: Zmienia przezroczystość (alfa) View. Przyjmuje nieujemną liczbę lub wartość procentową.
uwaga
Ze względu na problemy z wydajnością i zgodnością ze specyfikacją, na iOS dostępne są tylko te dwie funkcje filtrów. Istnieją plany zbadania potencjalnych obejść przy użyciu SwiftUI zamiast UIKit w tej implementacji.
Android
Następujące funkcje filtrów działają tylko na systemie Android:
blur: Rozmywa View przy użyciu filtru Gaussa, gdzie podana długość określa promień używany w algorytmie rozmycia. Dopuszczalne są nieujemne wartości DIP (bez procentów). Im większa wartość, tym bardziej rozmyty wynik.
contrast: Zmienia kontrast View. Przyjmuje nieujemną liczbę lub wartość procentową.
dropShadow: Dodaje cień wokół maski alfa View (tylko piksele o niezerowej wartości alfa w View będą rzucać cień). Przyjmuje opcjonalny kolor cienia oraz 2 lub 3 wartości długości. Jeśli podano 2 wartości, interpretowane są jako offsetX i offsetY przesuwające cień odpowiednio w osi X i Y. Jeśli podano 3. wartość, interpretowana jest jako odchylenie standardowe rozmycia Gaussa – im większa wartość, tym bardziej rozmyty cień. Więcej o argumentach w DropShadowValue.
grayscale: Konwertuje View na skalę szarości w określonym stopniu. Przyjmuje nieujemną liczbę lub wartość procentową, gdzie 1 lub 100% oznacza całkowitą skalę szarości.
hueRotate: Zmienia odcień View. Argument tej funkcji definiuje kąt koła kolorów, wokół którego odcień będzie obracany, np. 360deg nie da żadnego efektu. Kąt może mieć jednostki deg lub rad.
invert: Inwertuje kolory w View. Przyjmuje nieujemną liczbę lub wartość procentową, gdzie 1 lub 100% oznacza całkowitą inwersję.
sepia: Konwertuje View na sepia. Przyjmuje nieujemną liczbę lub wartość procentową, gdzie 1 lub 100% oznacza całkowite sepia.
saturate: Zmienia nasycenieView. Przyjmuje nieujemną liczbę lub wartość procentową.
uwaga
blur i dropShadow są obsługiwane tylko na Android 12+
filter przyjmuje albo tablicę obiektów składających się z powyższych funkcji filtrów, albo ciąg znaków naśladujący składnię webową.
Kontroluje sposób mieszania kolorów View z innymi elementami w jego kontekście warstw (stacking context). Pełny opis każdej funkcji mieszania znajdziesz w dokumentacji MDN.
Do bardziej precyzyjnej kontroli nad zakresem mieszania warto zobaczyć isolation.
normal: Element jest rysowany na tle bez mieszania.
multiply: Kolor źródłowy jest mnożony przez kolor docelowy i zastępuje docelowy.
screen: Mnoży dopełnienia kolorów tła i źródła, a następnie dopełnia wynik.
overlay: Mnoży lub wyświetla (screen) kolory, w zależności od wartości koloru tła.
darken: Wybiera ciemniejszy z kolorów tła i źródła.
lighten: Wybiera jaśniejszy z kolorów tła i źródła.
color-dodge: Rozjaśnia kolor tła, aby odzwierciedlić kolor źródłowy. Malowanie czernią nie powoduje zmian.
color-burn: Przyciemnia kolor tła, aby odzwierciedlić kolor źródłowy. Malowanie bielą nie powoduje zmian.
hard-light: Mnoży lub wyświetla (screen) kolory, w zależności od wartości koloru źródłowego. Efekt jest podobny do oświetlania tła ostrym światłem punktowym.
soft-light: Przyciemnia lub rozjaśnia kolory, w zależności od wartości koloru źródłowego. Efekt jest podobny do oświetlania tła rozproszonym światłem punktowym.
difference: Odejmuje ciemniejszy z dwóch składowych kolorów od jaśniejszego koloru.
exclusion: Tworzy efekt podobny do trybu Difference, ale o mniejszym kontraście.
hue: Tworzy kolor z odcieniem (hue) koloru źródłowego oraz nasyceniem i jasnością koloru tła.
saturation: Tworzy kolor z nasyceniem koloru źródłowego oraz odcieniem i jasnością koloru tła.
color: Tworzy kolor o barwie i nasyceniu koloru źródłowego oraz jasności koloru tła. Zachowuje poziomy szarości tła i jest przydatny do kolorowania obrazów monochromatycznych lub barwienia obrazów kolorowych.
luminosity: Tworzy kolor o jasności koloru źródłowego oraz barwie i nasyceniu koloru tła. Daje to efekt odwrotny do trybu Color.
Szerokość obramowania zewnętrznego rysowanego wokół elementu, poza właściwym obramowaniem. Nie wpływa na układ. Więcej szczegółów w dokumentacji webowej.