Zastanawiam się, jak dodać cień do tekstu w Androidzie?
Mam następujący kod, który jest nakładany na mapę bitową i chciałem być śledzony ...
paint.setColor(Color.BLACK);
paint.setTextSize(55);
paint.setFakeBoldText(false);
paint.setShadowLayer(1, 0, 0, Color.BLACK); //This only shadows my whole view...
Odpowiedzi:
Powinieneś być w stanie dodać styl, taki jak ten (zaczerpnięty z kodu źródłowego dla Ringdroid):
A w swoim układzie użyj następującego stylu:
Edycja: kod źródłowy można wyświetlić tutaj: https://github.com/google/ringdroid
Edycja2: Aby programowo ustawić ten styl, zrobiłbyś coś takiego (zmodyfikowany z tego przykładu, aby dopasować zasoby ringdroida od góry)
Podpis dla
setTextAppearance
toźródło
Możesz to zrobić zarówno w kodzie, jak i XML. Tylko 4 podstawowe rzeczy do ustawienia.
na przykład
To rysuje wyraźny cień na lewej dolnej części tekstu. W kodzie możesz dodać coś takiego;
źródło
W powyższym kodzie układu XML widok tekstowy1 ma efekt Cienia w układzie. poniżej znajdują się elementy konfiguracji
android: shadowDx - określa przesunięcie cienia w osi X. Możesz podać wartości - / +, gdzie -Dx rysuje cień po lewej stronie tekstu i + Dx po prawej stronie
android: shadowDy - określa przesunięcie cienia w osi Y. -Dy określa cień nad tekstem, a + Dy określa poniżej tekstu.
android: shadowRadius - określa, o ile cień powinien być rozmazany na krawędziach. Podaj niewielką wartość, jeśli cień musi być widoczny. android: shadowColor - określa kolor cienia
Efekt cienia na Android TextView pragmatycznie
Użyj poniższego fragmentu kodu, aby uzyskać efekt cienia drugiego TextView w sposób pragmatyczny.
Wynik :
źródło
Jeśli chcesz uzyskać cień podobny do tego, który robi Android w programie uruchamiającym, zarządzamy tymi wartościami. Przydają się, jeśli chcesz tworzyć TextViews, które pojawią się jako widżet bez tła.
źródło
Narysuj 2 teksty: jeden szary (będzie to cień), a na nim narysuj drugi tekst (y koordynuj o 1px więcej niż cień).
źródło
następnie użyj jako
źródło