Pular para o conteúdo
CrossFly é 100% open sourceSiga no GitHub
CrossFlyCrossFly
Começar
Receitas

Receitas

Receitas curtas e diretas por tarefa — "como fazer X" no CrossFly, com o mínimo de código e links para aprofundar.

Padrões rápidos de interface — diálogos, dropdowns, hints e seleção, cada receita com o código pronto para copiar.

Como fazer🟢
Como abrir um menu de ações (ActionSheet)

Exibir uma folha de ações estilo iOS na base da tela, com botões e um Cancelar.

Como fazer🟡
Como colocar um badge no canto de um avatar

Posicionar um selo/contador sobreposto ao canto de outro componente com RelativeLayout.

Como fazer🟡
Como criar abas (TabBar)

Montar uma barra de abas com conteúdo por aba e reagir à troca de aba.

Como fazer🟢
Como criar um card clicável

Montar um Component com fundo arredondado, conteúdo em layout e resposta ao toque.

Como fazer🟢
Como mostrar spinner e barra de progresso (Progress)

Usar Progress nos três modos — ícone girando, barra determinada e indeterminada.

Como fazer🟢
Como mostrar um Hint (toast)

Exibir feedback efêmero não-modal que aparece e some sozinho.

Como fazer🟢
Como pedir confirmação com Alert

Abrir um diálogo modal de confirmação com botões Cancelar/OK e reagir à escolha.

Como fazer🟢
Como usar checkbox e radio (Option e Group)

Um Option sozinho vira checkbox; vários em um Group viram radio (seleção exclusiva).

Como fazer🟢
Como usar um Dropdown de seleção

Abrir uma lista suspensa, reagir à escolha e obter o item selecionado.

Máscaras de moeda, validação de campo, campo de senha e formulário responsivo nas quatro plataformas.

Como fazer🟢
Como abrir um teclado numérico

Escolher entre teclado numérico nativo, Keypad embutido ou calculadora.

Como fazer🟡
Como aplicar máscara de CPF, CEP ou data

Formatar automaticamente CPF, CEP e datas com máscara e ler os dígitos limpos.

Como fazer🟡
Como criar um campo de data ou hora com picker

Campo que abre o DatePicker ou TimePicker ao ser tocado e formata pelo locale.

Como fazer🟡
Como criar um campo de moeda

Campo com formatação monetária automática, casas decimais e leitura do valor numérico.

Como fazer🟢
Como criar um campo de senha com mostrar/ocultar

Campo de senha mascarado com botão de alternância de visibilidade.

Como fazer🟡
Como montar um formulário responsivo rótulo:campo

Alinhar rótulos e campos em colunas proporcionais com GridLayout.

Como fazer🟡
Como validar um campo de texto

Restringir caracteres, limitar tamanho e ler o valor limpo antes de submeter.

Listas longas sem travar: paginação, carregar mais sob demanda e controle de rolagem e overscroll.

Como fazer🟢
Como exibir um popup de seleção modal

Abrir uma lista como janela modal centralizada com linhas customizadas via ItemFactory.

Como fazer🔴
Como exibir uma lista virtual com milhares de itens

Renderizar listas enormes com VirtualListView + DataAdapter reciclando views (estilo RecyclerView).

Como fazer🟢
Como fazer uma lista simples selecionável

Exibir uma lista de textos e capturar a seleção com ListView (SINGLE ou MULTIPLE).

Como fazer🟡
Como implementar carregar-mais (scroll infinito)

Anexar mais itens automaticamente quando o usuário chega perto do fim da lista virtual.

Como fazer🔴
Como paginar dados de servidor em uma lista virtual

Carregar páginas sob demanda com PagedDataAdapter (cache LRU) sobre VirtualListView.

Como fazer🟡
Como tornar um Component rolável e ajustar o overscroll

Habilitar scroll em qualquer Component com setScrollable e configurar o efeito elástico de borda.

Câmera, GPS, biometria, Bluetooth, vibração e área de transferência — o hardware do aparelho pelo mesmo código Java.

Como fazer🟡
Como autenticar com biometria (digital / Face ID)

Verificar disponibilidade e autenticar o usuário com impressão digital, Face ID ou Windows Hello.

Como fazer🔴
Como deixar o usuário escolher um local no mapa

Abrir um mapa com pino arrastável e GPS para o usuário confirmar uma coordenada (LatLon) via LocationPicker.

Como fazer🔴
Como escanear e conectar a um dispositivo Bluetooth (BLE)

Descobrir dispositivos Bluetooth, conectar e ler/receber notificações de características GATT.

Como fazer🟡
Como gravar um vídeo com áudio e limite de tempo

Gravar vídeo (com ou sem áudio), definir qualidade e limite de duração, e obter o caminho do MP4.

Como fazer🟡
Como ler um QR Code ou código de barras

Escanear QR/código de barras com a câmera usando BarcodePicker, ou decodificar uma Image com CameraBarcode.

Como fazer🟡
Como obter a posição GPS (latitude/longitude)

Ler coordenadas do GPS do dispositivo com Location + retrieveGPSData(), ou rastrear continuamente com GPSThread.

Como fazer🟡
Como tirar uma foto e obter o caminho do arquivo

Capturar uma foto com a câmera do dispositivo e receber o caminho do JPEG salvo.

Como fazer🟡
Como usar Text-to-Speech (TTS) e Speech-to-Text (STT)

Falar um texto em voz alta e transcrever a fala do usuário para texto, com configuração de locale/velocidade.

Como fazer🟢
Como vibrar, emitir beep e usar a área de transferência

Feedback rápido do dispositivo — vibração, som de beep e copiar/colar do clipboard.

Carregar imagens da galeria ou da câmera, gerar miniaturas e salvar sem estourar a memória do aparelho.

Fade, pulso em loop, mover componentes e transição entre telas com os value animators do CrossFly.

SQLite na prática: abrir o banco, CRUD com parâmetros, transações e trabalho pesado fora da paint thread.