Symbol
Utilice SF Symbols para dibujar iconos del sistema, como velocímetro o termómetro. Se puede configurar el tamaño de fuente del símbolo, el peso de la fuente y el método de coloración. La disponibilidad del símbolo específico depende del sistema del dispositivo.
Ejemplo
function main() {
return (
<Symbol
name="speedometer"
fontSize={36}
renderingMode="hierarchical"
color={$env.accent}
/>
);
}
Uso
- name es un identificador SF Symbols, no un archivo. fontSize escala el símbolo; width/height, el contenedor. paletteColors colorea capas. Un símbolo no disponible no se convierte en imagen.
- Las medidas numéricas son puntos. auto mide el contenido y fill usa el espacio asignado. Define primero el contenedor: fill y un texto largo no amplían un padre fijo.
Propiedades
namestringNombre SF Symbols como speedometer; disponibilidad según el sistema operativo.
"location.north.fill"fontSize?numberTamaño de fuente en puntos.
14fontWeight?"ultraLight" | "thin" | "light" | "regular" | "medium" | "semibold" | "bold" | "heavy" | "black"Grosor de letra desde ultraLight hasta black; regular es normal.
"regular"imageScale?"small" | "medium" | "large"Tamaño relativo small, medium o large combinado con fontSize.
"medium"renderingMode?"monochrome" | "hierarchical" | "palette" | "multicolor"monochrome usa un color, hierarchical tonos, palette paletteColors, multicolor colores originales.
"monochrome"color?PaintColor de dibujo, incluidos los colores HDR.
HDR($env.foreground)De uno a tres colores de capas del símbolo en modo palette.
["red", "blue"]contentAnimation?ContentAnimationTransición al cambiar contenido. Elige un type compatible; duration/delay en segundos.
{type: "fade", duration: 0.25}Propiedades comunes
width?number | "auto" | "fill"Anchura en puntos, tamaño automático o relleno del contenedor.
100height?number | "auto" | "fill"Altura en puntos, tamaño automático o relleno del contenedor.
80padding?numberRelleno interior del contenido en puntos.
0x?numberDesplazamiento visual en puntos: x a la derecha, y hacia abajo, sin cambiar el espacio del diseño.
0y?numberDesplazamiento visual en puntos: x a la derecha, y hacia abajo, sin cambiar el espacio del diseño.
0transform?ViewTransformTransformación global sin alterar el diseño. Traslación en puntos, giro/inclinación en grados, escala 1 sin cambios, anclajes 0–1.
{rotation: 0}background?PaintColor o degradado de fondo; clear es transparente.
"clear"opacity?numberOpacidad de todo el View: 0 transparente, 1 opaco.
1cornerRadius?numberRadio de las esquinas en puntos.
0clipped?booleanRecorta el dibujo que sobresale de los límites del View.
falseclip?"rectangle" | "ellipse"Recorte rectangle o ellipse; Material también admite false para desactivarlo.
"rectangle"mask?View | nullView de máscara alfa. Centrada sin afectar al diseño; null desactiva la máscara.
<Circle width="fill" height="fill" background="white"/>zIndex?numberOrden entre elementos hermanos; los valores mayores aparecen delante.
0blur?numberRadio de desenfoque en puntos; 0 lo desactiva.
4innerShadow?DrawingEffectColor, opacidad, radio de desenfoque y desplazamiento x/y del efecto; distancias en puntos.
{color: HDR("black"), opacity: 0.5, radius: 4, x: 0, y: 2}glow?DrawingEffectColor, opacidad, radio de desenfoque y desplazamiento x/y del efecto; distancias en puntos.
{color: HDR("cyan"), radius: 8, opacity: 0.8}shadowColor?ColorColor de la sombra exterior.
HDR("black")shadowOpacity?numberOpacidad de la sombra de 0 a 1; 0 la oculta.
0shadowRadius?numberRadio de desenfoque de la sombra, en puntos.
4shadowX?numberDesplazamiento de sombra en puntos: x derecha, y abajo.
0shadowY?numberDesplazamiento de sombra en puntos: x derecha, y abajo.
2animations?Animation[]Anima cambios de propiedad. duration/delay en segundos; from/to son extremos; repeat/autoreverse controlan repeticiones y wrap el período.
[{property: "opacity", duration: 0.25, curve: "easeInOut"}]key?string | numberIdentidad estable entre elementos hermanos.
Ejemplo práctico
function main() {
return (
<HStack alignment="firstTextBaseline" spacing={8}>
<Symbol
name="speedometer"
fontSize={32}
renderingMode="hierarchical"
color={$env.accent}
/>
<Text fontSize={40}>78</Text>
<Text fontSize={14}>km/h</Text>
</HStack>
);
}
Animación
widthheightpaddingxyopacitybackgroundcornerRadiusblurshadowColorshadowOpacityshadowRadiusshadowXshadowYfontSizecolortransform.translateXtransform.translateYtransform.scaleXtransform.scaleYtransform.rotationtransform.skewXtransform.skewYtransform.anchorXtransform.anchorYAl omitir
La tabla documenta omisiones comprobadas en la implementación. Los ejemplos no son valores predeterminados. Especifica valores para resultados fijos; tamaños y colores del contexto no son constantes.
| Propiedades | Al omitir |
|---|---|
fontSize | 14 |
fontWeight | "regular" |
imageScale | "medium" |
renderingMode | "monochrome" |
color | HDR($env.foreground) |