Dimensiones Responsivas Inteligentes para Cualquier Pantalla
📚 Documentación | ⚡ Referencia Rápida | 🔬 Detalles Técnicos
Idiomas: English | Português (BR) | Español
🎯 13 Estrategias de Escalado (¡eran solo 2!)
- BALANCED ⭐ Nueva estrategia primaria recomendada - híbrida lineal-logarítmica
- DEFAULT (antigua Fixed) - logarítmica con compensación de AR (recomendación secundaria)
- PERCENTAGE (antigua Dynamic) - escalado proporcional
- LOGARITHMIC - psicofísica pura de Weber-Fechner
- POWER - Ley de Potencia de Stevens (configurable)
- FLUID - Similar a CSS clamp con breakpoints
- Más 7: INTERPOLATED, DIAGONAL, PERIMETER, FIT, FILL, AUTOSIZE 🆕, NONE
🧠 Sistema de Inferencia Inteligente
- Selección automática de estrategia basada en el tipo de elemento
- 18 tipos de elemento (BUTTON, TEXT, ICON, CONTAINER, etc.)
- 8 categorías de dispositivo (PHONE_SMALL hasta TV)
- Sistema de decisión basado en pesos
⚡ Mejora de Rendimiento de 5x
- Caché unificado lock-free (0.001µs)
- Tabla de lookup para ln() (10-20x más rápido)
- Constantes pre-calculadas
- Algoritmos de búsqueda binaria (O(log n))
♻️ Compatibilidad Total con Versiones Anteriores
- Las extensiones antiguas
.fxdp/.dydptodavía funcionan - Camino suave de migración a
.balanced(),.defaultDp,.percentageDp
AppDimens hace que tus elementos de UI escalen perfectamente en todos los dispositivos - desde teléfonos a tablets, TVs, relojes y navegadores web.
❌ Sin AppDimens:
Teléfono (360dp): Botón = 48dp (13% de la pantalla) ✅ Bien
Tablet (720dp): Botón = 48dp (7% de la pantalla) ❌ ¡Muy pequeño!
❌ Con Escalado Lineal (SDP):
Teléfono (360dp): Botón = 58dp (16% de la pantalla) ✅ OK
Tablet (720dp): Botón = 115dp (16% de la pantalla) ❌ ¡Muy grande!
✅ Con AppDimens BALANCED ⭐:
Teléfono (360dp): Botón = 58dp (16% de la pantalla) ✅ ¡Perfecto!
Tablet (720dp): Botón = 70dp (10% de la pantalla) ✅ ¡Perfecto!
dependencies {
implementation("io.github.bodenberg:appdimens-dynamic:2.0.0")
}pod 'AppDimens', '~> 2.0.0'dependencies:
appdimens: ^2.0.0npm install appdimens-react-native@2.0.0npm install webdimens@2.0.0@Composable
fun MiCard() {
Card(
modifier = Modifier
.width(300.balanced().dp) // ✨ BALANCED (RECOMENDADO) ⭐
.padding(16.balanced().dp)
) {
Text("Hola Mundo", fontSize = 18.balanced().sp)
}
}struct MiCard: View {
var body: some View {
VStack {
Text("Hola Mundo")
.font(.system(size: AppDimens.shared.balanced(18).toPoints()))
}
.padding(AppDimens.shared.balanced(16).toPoints())
}
}Container(
width: AppDimens.balanced(300).calculate(context),
padding: EdgeInsets.all(AppDimens.balanced(16).calculate(context)),
child: Text(
'Hola Mundo',
style: TextStyle(fontSize: AppDimens.balanced(18).calculate(context)),
),
)🥇 #1 AppDimens BALANCED: 93/100 ⭐⭐⭐⭐⭐ (Recomendación primaria)
🥈 #2 AppDimens LOGARITHMIC: 88/100 ⭐⭐⭐⭐⭐
🥉 #3 AppDimens POWER: 86/100 ⭐⭐⭐⭐
#4 AppDimens DEFAULT: 82/100 ⭐⭐⭐⭐ (Recomendación secundaria)
- Guía Simplificada - 15 minutos
- Teoría Matemática - Completa
- Comparación de Fórmulas - Rankings
- Ejemplos - Código listo
Hecho con ❤️ para desarrolladores en todo el mundo