Saltar al contenido
CrossFly es 100% open sourceSíguenos en GitHub
CrossFlyCrossFly
Empezar

Esta documentación está disponible en portugués. Las traducciones a otros idiomas están en camino.

Recetario

Recetario

Recetas breves y directas por tarea — "cómo hacer X" en CrossFly, con el mínimo de código y enlaces para profundizar.

Patrones rápidos de interfaz — diálogos, dropdowns, hints y selección, cada receta con el código listo para copiar.

Cómo hacer🟢
Cómo abrir un menú de acciones (ActionSheet)

Mostrar una hoja de acciones estilo iOS en la base de la pantalla, con botones y un Cancelar.

Cómo hacer🟡
Cómo colocar un badge en la esquina de un avatar

Posicionar un sello/contador superpuesto en la esquina de otro componente con RelativeLayout.

Cómo hacer🟡
Cómo crear pestañas (TabBar)

Montar una barra de pestañas con contenido por pestaña y reaccionar al cambio de pestaña.

Cómo hacer🟢
Cómo crear una card cliqueable

Montar un Component con fondo redondeado, contenido en layout y respuesta al toque.

Cómo hacer🟢
Cómo mostrar spinner y barra de progreso (Progress)

Usar Progress en los tres modos — icono girando, barra determinada e indeterminada.

Cómo hacer🟢
Cómo mostrar un Hint (toast)

Mostrar feedback efímero no modal que aparece y desaparece solo.

Cómo hacer🟢
Cómo pedir confirmación con Alert

Abrir un diálogo modal de confirmación con botones Cancelar/OK y reaccionar a la elección.

Cómo hacer🟢
Cómo usar checkbox y radio (Option y Group)

Un Option solo se convierte en checkbox; varios en un Group se convierten en radio (selección exclusiva).

Cómo hacer🟢
Cómo usar un Dropdown de selección

Abrir una lista desplegable, reaccionar a la elección y obtener el elemento seleccionado.

Máscaras de moneda, validación de campo, campos de contraseña y formularios responsivos en las cuatro plataformas.

Cómo hacer🟢
Cómo abrir un teclado numérico

Elegir entre teclado numérico nativo, Keypad integrado o calculadora.

Cómo hacer🟡
Cómo aplicar máscara de CPF, CEP o fecha

Formatear automáticamente CPF, CEP y fechas con máscara y leer los dígitos limpios.

Cómo hacer🟡
Cómo crear un campo de fecha u hora con picker

Campo que abre el DatePicker o TimePicker al ser tocado y formatea según el locale.

Cómo hacer🟡
Cómo crear un campo de moneda

Campo con formato monetario automático, decimales y lectura del valor numérico.

Cómo hacer🟢
Cómo crear un campo de contraseña con mostrar/ocultar

Campo de contraseña enmascarado con botón de alternancia de visibilidad.

Cómo hacer🟡
Cómo montar un formulario responsivo rótulo:campo

Alinear rótulos y campos en columnas proporcionales con GridLayout.

Cómo hacer🟡
Cómo validar un campo de texto

Restringir caracteres, limitar el tamaño y leer el valor limpio antes de enviar.

Listas largas sin tirones: paginación, cargar más bajo demanda y control del desplazamiento y el overscroll.

Cómo hacer🟢
Cómo mostrar un popup de selección modal

Abrir una lista como ventana modal centrada con filas personalizadas mediante ItemFactory.

Cómo hacer🔴
Cómo mostrar una lista virtual con miles de elementos

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

Cómo hacer🟢
Cómo hacer una lista simple seleccionable

Mostrar una lista de textos y capturar la selección con ListView (SINGLE o MULTIPLE).

Cómo hacer🟡
Cómo implementar cargar-más (scroll infinito)

Anexar más elementos automáticamente cuando el usuario llega cerca del final de la lista virtual.

Cómo hacer🔴
Cómo paginar datos de servidor en una lista virtual

Cargar páginas bajo demanda con PagedDataAdapter (caché LRU) sobre VirtualListView.

Cómo hacer🟡
Cómo hacer un Component desplazable y ajustar el overscroll

Habilitar scroll en cualquier Component con setScrollable y configurar el efecto elástico de borde.

Abrir y cerrar pantallas, pasar datos entre ellas y recibir el resultado de vuelta, con diálogos de confirmación.

Cámara, GPS, biometría, Bluetooth, vibración y portapapeles — el hardware del dispositivo desde el mismo código Java.

Cómo hacer🟡
Cómo autenticar con biometría (huella / Face ID)

Verificar disponibilidad y autenticar al usuario con huella digital, Face ID o Windows Hello.

Cómo hacer🔴
Cómo dejar que el usuario elija una ubicación en el mapa

Abrir un mapa con pin arrastrable y GPS para que el usuario confirme una coordenada (LatLon) vía LocationPicker.

Cómo hacer🔴
Cómo escanear y conectar a un dispositivo Bluetooth (BLE)

Descubrir dispositivos Bluetooth, conectar y leer/recibir notificaciones de características GATT.

Cómo hacer🟡
Cómo grabar un video con audio y límite de tiempo

Grabar video (con o sin audio), definir calidad y límite de duración, y obtener la ruta del MP4.

Cómo hacer🟡
Cómo leer un QR Code o código de barras

Escanear QR/código de barras con la cámara usando BarcodePicker, o decodificar una Image con CameraBarcode.

Cómo hacer🟡
Cómo obtener la posición GPS (latitud/longitud)

Leer coordenadas del GPS del dispositivo con Location + retrieveGPSData(), o rastrear continuamente con GPSThread.

Cómo hacer🟡
Cómo tomar una foto y obtener la ruta del archivo

Capturar una foto con la cámara del dispositivo y recibir la ruta del JPEG guardado.

Cómo hacer🟡
Cómo usar Text-to-Speech (TTS) y Speech-to-Text (STT)

Pronunciar un texto en voz alta y transcribir el habla del usuario a texto, con configuración de locale/velocidad.

Cómo hacer🟢
Cómo vibrar, emitir un beep y usar el portapapeles

Feedback rápido del dispositivo — vibración, sonido de beep y copiar/pegar del portapapeles.

Cargar imágenes de la galería o la cámara, generar miniaturas y guardar sin agotar la memoria del dispositivo.

Fundido, pulso en bucle, mover componentes y transición entre pantallas con los value animators de CrossFly.

SQLite en la práctica: abrir la base, CRUD con parámetros, transacciones y trabajo pesado fuera del paint thread.