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