Skip to content

Releases: bodenberg/appdimens

2.0.1

04 Nov 10:10

Choose a tag to compare

Added support for aspect ratio.

2.0.0

03 Nov 10:29

Choose a tag to compare

🚀 13 Estratégias de Escalonamento (de 2 para 13!)

O novo sistema oferece flexibilidade e controle incomparáveis, expandindo dramaticamente as opções de design responsivo.

  • ⭐ BALANCED (Novo Padrão Recomendado): A estratégia híbrida linear-logarítmica que oferece o melhor dos dois mundos para uma experiência de usuário harmoniosa.
  • DEFAULT (Anteriormente Fixed): Escalonamento logarítmico que preserva a proporção (aspect ratio). (Recomendação Secundária)
  • PERCENTAGE (Anteriormente Dynamic): Escalonamento proporcional simples.
  • LOGARITHMIC: Escalonamento puramente Weber-Fechner (psicofísica).
  • POWER: Baseado na Lei da Potência de Stevens (completamente configurável).
  • FLUID: Comportamento semelhante ao CSS clamp() com suporte a breakpoints.
  • Mais 7 Estratégias Avançadas:
    • INTERPOLATED, DIAGONAL, PERIMETER, FIT, FILL, AUTOSIZE (🆕 Novo), NONE.

🧠 Sistema de Inferência Inteligente

A seleção de estratégia automática aprimorada garante que seus elementos tenham sempre a melhor aparência, sem esforço manual.

  • Seleção Automática: Escolhe a estratégia ideal com base no tipo de elemento e na categoria do dispositivo.
  • Detecção Ampla: Suporte para 18 tipos de elementos (BUTTON, TEXT, ICON, CONTAINER, etc.).
  • Otimizado para Dispositivos: Reconhece 8 categorias de dispositivos (de PHONE_SMALL a TV).
  • Decisão Ponderada: Utiliza um robusto sistema de decisão baseado em peso.

⚡ Aumento de Performance de 5x!

O desempenho ultrarrápido garante que o escalonamento seja instantâneo, mesmo em interfaces complexas.

  • Cache Unificado Lock-Free: Acesso quase instantâneo ($0.001\mu s$).
  • Tabela de Pesquisa $Ln()$ Otimizada: Velocidade $10-20x$ superior.
  • Otimizações Matemáticas: Constantes pré-calculadas e Algoritmos de Pesquisa Binária ($O(\log n)$).

♻️ Compatibilidade Total com Versões Anteriores

A migração é simples e sem interrupções para que você possa aproveitar os novos recursos imediatamente.

  • Suporte a Extensões Legadas: Extensões antigas .fxdp e .dydp continuam funcionando.
  • Transição Suave: Use os novos métodos de maneira fácil, como .balanced(), .defaultDp e .percentageDp.

1.1.0

01 Nov 11:02

Choose a tag to compare

15% ~ 20% improvement in the accuracy of responsiveness calculation results.

1.0.8

23 Oct 09:58

Choose a tag to compare

Greater compatibility with screen sizes

1.0.7

20 Oct 10:11

Choose a tag to compare

Global cache otimization

1.0.6

20 Oct 02:11
d858793

Choose a tag to compare

Performance improvement, cache management and optimization of game-focused libraries

1.0.5

18 Oct 19:37

Choose a tag to compare

Added appdimens library for c++ games

1.0.4

16 Oct 09:35

Choose a tag to compare

🚀 AppDimens: The Next Generation in Android Responsive Design

Say goodbye to the rigidity of fixed Dp values! AppDimens transforms your dimensioning into a smart and predictable system, ensuring your design is visually consistent and impeccable on any device, from the smallest Wearable to the largest $4K$ TV.

This release introduces a fully adaptive dimensioning architecture, allowing your components to grow either smoothly and controlled or proportionally and aggressively, according to your design needs.

✨ Release Highlights:

  • Dual Dimensioning (FXDP vs. DYDP): Choose between the Fixed (FX) adjustment, which uses a refined logarithmic logic with Aspect Ratio (AR) for subtle, visual comfort growth (ideal for icons and paddings), and the Dynamic (DY) adjustment, which maintains a constant percentage proportion with the screen (perfect for cards and main layouts).
  • Optimized Performance: Swap the complexity of thousands of traditional SDP dimens.xml files for an optimized and memorized runtime calculation. Adjustment factors are calculated only once per screen configuration change, ensuring flexibility and low overhead.
  • Unified Support: Native and simplified integration for both the View System/XML (via Gateway and Data Binding) and Jetpack Compose (via Extensions).
  • Advanced Functionality:
    • Physical Units (MM/CM/INCH): Define dimensions with absolute precision based on real-world measurements, crucial for Wear OS and measurement systems.
    • Intelligent Item Count: Use calculateAvailableItemCount to dynamically solve the spanCount in GridLayoutManager and LazyVerticalGrid.

With AppDimens, you ensure that $48\text{dp}$ has the correct visual weight, regardless of the screen size!

1.0.3

16 Oct 03:53

Choose a tag to compare

🚀 AppDimens: The Next Generation in Android Responsive Design

Say goodbye to the rigidity of fixed Dp values! AppDimens transforms your dimensioning into a smart and predictable system, ensuring your design is visually consistent and impeccable on any device, from the smallest Wearable to the largest $4K$ TV.

This release introduces a fully adaptive dimensioning architecture, allowing your components to grow either smoothly and controlled or proportionally and aggressively, according to your design needs.

✨ Release Highlights:

  • Dual Dimensioning (FXDP vs. DYDP): Choose between the Fixed (FX) adjustment, which uses a refined logarithmic logic with Aspect Ratio (AR) for subtle, visual comfort growth (ideal for icons and paddings), and the Dynamic (DY) adjustment, which maintains a constant percentage proportion with the screen (perfect for cards and main layouts).
  • Optimized Performance: Swap the complexity of thousands of traditional SDP dimens.xml files for an optimized and memorized runtime calculation. Adjustment factors are calculated only once per screen configuration change, ensuring flexibility and low overhead.
  • Unified Support: Native and simplified integration for both the View System/XML (via Gateway and Data Binding) and Jetpack Compose (via Extensions).
  • Advanced Functionality:
    • Physical Units (MM/CM/INCH): Define dimensions with absolute precision based on real-world measurements, crucial for Wear OS and measurement systems.
    • Intelligent Item Count: Use calculateAvailableItemCount to dynamically solve the spanCount in GridLayoutManager and LazyVerticalGrid.

With AppDimens, you ensure that $48\text{dp}$ has the correct visual weight, regardless of the screen size!

1.0.2

14 Oct 01:25

Choose a tag to compare

🚀 AppDimens: The Next Generation in Android Responsive Design

Say goodbye to the rigidity of fixed Dp values! AppDimens transforms your dimensioning into a smart and predictable system, ensuring your design is visually consistent and impeccable on any device, from the smallest Wearable to the largest $4K$ TV.

This release introduces a fully adaptive dimensioning architecture, allowing your components to grow either smoothly and controlled or proportionally and aggressively, according to your design needs.

✨ Release Highlights:

  • Dual Dimensioning (FXDP vs. DYDP): Choose between the Fixed (FX) adjustment, which uses a refined logarithmic logic with Aspect Ratio (AR) for subtle, visual comfort growth (ideal for icons and paddings), and the Dynamic (DY) adjustment, which maintains a constant percentage proportion with the screen (perfect for cards and main layouts).
  • Optimized Performance: Swap the complexity of thousands of traditional SDP dimens.xml files for an optimized and memorized runtime calculation. Adjustment factors are calculated only once per screen configuration change, ensuring flexibility and low overhead.
  • Unified Support: Native and simplified integration for both the View System/XML (via Gateway and Data Binding) and Jetpack Compose (via Extensions).
  • Advanced Functionality:
    • Physical Units (MM/CM/INCH): Define dimensions with absolute precision based on real-world measurements, crucial for Wear OS and measurement systems.
    • Intelligent Item Count: Use calculateAvailableItemCount to dynamically solve the spanCount in GridLayoutManager and LazyVerticalGrid.

With AppDimens, you ensure that $48\text{dp}$ has the correct visual weight, regardless of the screen size!