Idiomas: Inglês | Português do Brasil
Acesse as propriedades mais usadas na sua instância do BuildContext
.
Este pacote se baseia na extensão do Dart para fornecer acesso fácil para as propriedades e funções mais usadas que dependem da instância do BuildContext
.
Eu atualizo este pacote com frequência para adicionar mais extensões, abaixo você pode ver as extensões que estão atualmente disponíveis na última versão.
Da classe MediaQuery
. Acesse propriedades diretamente na instância do context
. Extensões disponíveis:
-
context.mediaQuerySize
-
context.orientation
-
context.mediaQueryPadding
-
context.alwaysUse24HourFormat
-
context.devicePixelRatio
-
context.platformBrightness
-
context.textScaleFactor
-
context.isLandscape
-
context.isPortrait
-
context.mediaQueryViewPadding
-
context.mediaQueryViewInsets
-
context.mediaQueryShortestSide
-
context.isPhone
-
context.isTablet
-
context.isSmallTablet
-
context.isLargeTablet
context.push()
context.pop()
context.canPop()
context.pushNamed()
context.popUntil()
context.theme
context.textTheme
context.primaryTextTheme
context.accentTextTheme
context.bottomAppBarTheme
context.bottomSheetTheme
context.appBarTheme
context.backgroundColor
context.primaryColor
context.buttonColor
context.scaffoldBackgroundColor
context.platform
context.isAndroid
context.isIOS
context.isWindows
context.isMacOS
context.isLinux
context.isFuchsia
Observação: Esses devem ser chamados no contexto de um widget Scaffold
, caso contrário, você pode ter erros.
context.openDrawer()
context.openEndDrawer()
context.showSnackBar()
context.hideCurrentSnackBar()
context.removeCurrentSnackBar()
context.showBottomSheet()
Observação: Esses devem ser chamados no contexto de um widget Scaffold
, caso contrário, você pode ter erros.
context.form.validate()
context.form.reset()
context.form.save()
-
context.focusScope.hasFocus
-
context.focusScope.isFirstFocus
-
context.focusScope.canRequestFocus
-
context.focusScope.hasPrimaryFocus
-
context.focusScope.unfocus()
-
context.focusScope.nextFocus()
-
context.focusScope.requestFocus()
-
context.focusScope.previousFocus()
-
context.focusScope.setFirstFocus()
-
context.focusScope.consumeKeyboardToken()
-
context.closeKeyboard()
Adicione em seu pubspec.yaml
:
dependencies:
build_context: ^2.0.4
Importe onde você quer usar, por exemplo, no arquivo do widget.
import "package:build_context/build_context.dart";
Aqui está um exemplo de uso:
import 'package:flutter/material.dart';
import "package:build_context/build_context.dart";
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: context.scaffoldBackgroundColor, // There is no Theme.of(context)
body: Center(
child: GestureDetector(
onTap: () => context.pushNamed('/detailsPage'), // we use only context not Navigator.of(context)
child: Text(
'Press Me',
style: context.primaryTextTheme.title, // we use only context not Theme.of(context)
),
),
),
);
}
}
Você gostou deste pacote? Então dê uma estrela. Se você quiser ajudar, então:
- Inicie este repositório
- Envie um Pull Request com novas features
- Compartilhe este pacote
- Crie issues se você encontrar um Bug ou se quiser sugerir algo