# Enums e constantes de UIConstants

> Referência dos enums, constantes e tipos aninhados de dev.crossfly.ui.UIConstants.

Source: https://crossfly.dev/pt/docs/reference/enums-uiconstants — CrossFly documentation. Full docs as one file: https://crossfly.dev/llms-full.txt

# Enums e constantes de `UIConstants`

`UIConstants` é o hub de enums, constantes e tipos compartilhados. Como `Component`/`Layout`/`Styles`
**implementam** `UIConstants`, esses nomes ficam acessíveis **sem import qualificado** dentro deles.
Valores verificados contra o código-fonte (API 2026).

## Layout e posição
| Enum | Valores |
|---|---|
| `Position` | `START` · `CENTER` · `END` |
| `Orientation` | `HORIZONTAL` · `VERTICAL` |
| `ScreenSize` | `SIZE` (dimensão real) · `MIN` (menor lado) · `MAX` (maior lado) |
| `RelPos` | `AUTOPOS` · `AUTOPOSCENTERED` · `START` · `CENTER` · `END` · `BEFORE` · `SAMEPOS` · `AFTER` · `CENTER_OF` · `END_OF` · `KEEPPOS` |
| `RelSize` | `AUTOSIZE` · `FILL` · `FIT` · `SAMESIZE` · `KEEPSIZE` |
| `Transition` | `NONE` · `FADE` · `SLIDE_LEFT` · `SLIDE_RIGHT` · `SLIDE_UP` · `SLIDE_DOWN` · `SCALE` · `SCALE_DOWN` |

## Aparência
| Enum | Valores |
|---|---|
| `ImageSize` | `ORIGINAL` · `RATIO` · `STRETCH` · `FIT` · `FIT_WIDTH` · `FIT_HEIGHT` · `FIT_HALF_WIDTH` · `FIT_HALF_HEIGHT` |
| `LineStyle` | `SOLID` · `DOTTED` |
| `Pressable` | `NO` · `YES` · `STICKY` |

## Entrada de texto
| Enum | Valores |
|---|---|
| `EditMode` | `NORMAL` · `DATE` · `CURRENCY` · `NUMERIC` · `TIME` · `PASSWORD` |
| `Capitalise` | `NORMAL` · `UPPER` · `LOWER` |
| `Keyboard` | `NONE` · `DEFAULT` · `NUMERIC` · `KEYPAD` · `CALCULATOR` · `DATE` · `TIME` |

> `EditMode.getKeyboard()` mapeia o modo para o teclado implícito (`DATE`→DatePicker, `CURRENCY`→Keypad
> calculadora, `TIME`→TimePicker, etc.). Ver [Máscaras e teclados](/docs/ui/forms-and-input/masks-and-keyboards).

## Constantes não-enum
| Constante | Valor | Uso |
|---|---|---|
| `LAY_AUTO` | `0f` | tamanho natural do conteúdo (em `add()`) |
| `LAY_FILL` | `-1f` | preenche o espaço restante (em `add()`) |

Cores continuam **`int` ARGB** — as constantes de cor e utilitários estão em `UIConstants`/`Styles` e
`ColorUtils` (ver Cores e as [Folhas de cola](/docs/reference/cheat-sheets)).

## Tipos aninhados (interfaces funcionais / marcadores)
`UIConstants` também aninha os contratos compartilhados: **`Action`** (`run(Component)`), **`Paintable`**,
**`Icon`**, **`Scrollable`**, **`Checkable`**, **`TextComponent`**, **`TextInputComponent`**. É por isso
que aparecem como `UIConstants.Action` etc. (a migração 2026 os moveu para dentro de `UIConstants`).

## Veja também
- [Folhas de cola](/docs/reference/cheat-sheets) · [Catálogo de widgets](/docs/reference/widget-catalog)
