Showing
1 changed file
with
53 additions
and
0 deletions
@@ -446,6 +446,16 @@ Get.contextOverlay | @@ -446,6 +446,16 @@ Get.contextOverlay | ||
446 | context.width | 446 | context.width |
447 | context.height | 447 | context.height |
448 | 448 | ||
449 | +// Dá a você agora o poder de definir metade da tela, um terço da dela e assim por diante. | ||
450 | +// Útil para aplicativos responsivos. | ||
451 | +// param dividedBy (double) opcional - default: 1 | ||
452 | +// param reducedBy (double) opcional - default: 0 | ||
453 | +context.heightTransformer() | ||
454 | +context.widthTransformer() | ||
455 | + | ||
456 | +/// similar a MediaQuery.of(context).size | ||
457 | +context.mediaQuerySize() | ||
458 | + | ||
449 | /// similar a MediaQuery.of(this).padding | 459 | /// similar a MediaQuery.of(this).padding |
450 | context.mediaQueryPadding() | 460 | context.mediaQueryPadding() |
451 | 461 | ||
@@ -487,6 +497,14 @@ context.isLargeTablet() | @@ -487,6 +497,14 @@ context.isLargeTablet() | ||
487 | 497 | ||
488 | /// retorna True se o dispositivo é um Tablet | 498 | /// retorna True se o dispositivo é um Tablet |
489 | context.isTablet() | 499 | context.isTablet() |
500 | + | ||
501 | +/// Retorna um valor de acordo com o tamanho da tela | ||
502 | +/// Os valores possíveis são: | ||
503 | +/// swatch: se a menor dimensão (largura ou altura) da tela for menor que 300px | ||
504 | +/// mobile: se a menor dimensão (largura ou altura) da tela for menor que 600px | ||
505 | +/// tablet: se a menor dimensão (largura ou altura) da tela for menor que 1200px | ||
506 | +/// desktop: se a largura da tela é maior ou iguial a 1200px | ||
507 | +context.responsiveValue<T>() | ||
490 | ``` | 508 | ``` |
491 | 509 | ||
492 | ### Configurações Globais opcionais e configurações manuais | 510 | ### Configurações Globais opcionais e configurações manuais |
@@ -545,6 +563,41 @@ void localLogWriter(String text, {bool isError = false}) { | @@ -545,6 +563,41 @@ void localLogWriter(String text, {bool isError = false}) { | ||
545 | } | 563 | } |
546 | ``` | 564 | ``` |
547 | 565 | ||
566 | +### Widgets de Estado Local | ||
567 | + | ||
568 | +Esses Widgets permitem que você gerencie um único valor e mantenha o estado efêmero e localmente. Temos versões para Reativo e Simples. Por exemplo, você pode usá-los para alternar obscureText em um TextField, talvez criar um painel expansível personalizado ou talvez modificar o índice atual em um BottomNavigationBar enquanto altera o conteúdo do corpo em um Scaffold. | ||
569 | + | ||
570 | +#### ValueBuilder | ||
571 | +Uma simplificação de StatefulWidget que funciona com um callback de "setState" que passa o valor atualizado. | ||
572 | + | ||
573 | + | ||
574 | +```dart | ||
575 | +ValueBuilder<bool>( | ||
576 | + initialValue: false, | ||
577 | + builder: (value, updateFn) => Switch( | ||
578 | + value: value, | ||
579 | + onChanged: updateFn, // mesma assinatura! Você poderia usar ( newValue ) => updateFn( newValue ) | ||
580 | + ), | ||
581 | + // se você precisa chamar algo fora do método builder. | ||
582 | + onUpdate: (value) => print("Value updated: $value"), | ||
583 | + onDispose: () => print("Widget unmounted"), | ||
584 | +), | ||
585 | +``` | ||
586 | + | ||
587 | +#### ObxValue | ||
588 | +Similar a ValueBuilder, mas esta é a versão Reativa, você passa uma instância Rx (lembra do .obs mágico?) e | ||
589 | +atualiza automaticamente... não é incrível? | ||
590 | + | ||
591 | +```dart | ||
592 | +ObxValue( | ||
593 | + (data) => Switch( | ||
594 | + value: data.value, | ||
595 | + onChanged: data, // Rx tem uma função _callable_! Você poderia usar (flag) => data.value = flag, | ||
596 | + ), | ||
597 | + false.obs, | ||
598 | +), | ||
599 | +``` | ||
600 | + | ||
548 | ## Explicação em vídeo sobre Outras Features do GetX | 601 | ## Explicação em vídeo sobre Outras Features do GetX |
549 | 602 | ||
550 | 603 |
-
Please register or login to post a comment