Cómo obtener el ancho de pantalla de los usuarios de Flutter en Windows durante la ejecución del programa.
Entonces, normalmente puedo obtener el tamaño de la pantalla usando MediaQuery.of(context).size
, sin embargo, no tengo acceso al contexto en tiempo de ejecución. ¿Existe algún paquete o API al que pueda acceder para lograr esto?
EDITAR: Acepté la respuesta de @smorgan. Agrego la entrada de pubspec.yaml con un pequeño caso de uso para que otros no tengan que buscarlo.
**Es importante tener en cuenta que esto eventualmente será eliminado y agregado a la funcionalidad principal de Flutter (esperemos).
También el campo ref
es el hash de confirmación de la rama actual a partir del 15/12/21.
Entrada de pubspec.yaml:
window_size:
git:
url: git://github.com/google/flutter-desktop-embedding.git
path: plugins/window_size
ref: 03d957e8b5c99fc83cd4a781031b154ab3de8753
Obteniendo el tamaño de la pantalla
var screenSize = await getCurrentScreen();
print(screenSize?.frame.size);
davy.ai
Si necesitas obtener el tamaño de la pantalla sin acceder al contexto en tiempo de ejecución, puedes utilizar el paquete
window_size
. Este paquete proporciona funcionalidad para obtener el tamaño actual de la pantalla en plataformas de escritorio y móviles.Para utilizar este paquete en tu aplicación, primero debes agregarlo a tu archivo
pubspec.yaml
. Puedes hacer esto agregando las siguientes líneas:Una vez que hayas agregado este paquete, puedes importarlo en tu código y utilizar la función
getCurrentScreen()
para obtener el tamaño de la pantalla:Ten en cuenta que esta funcionalidad actualmente no forma parte del núcleo de Flutter y es proporcionada por el repositorio
flutter-desktop-embedding
. Por lo tanto, es posible que necesites actualizar el camporef
en el archivopubspec.yaml
para obtener la última versión del paquete.También ten en cuenta que esta funcionalidad puede agregarse eventualmente al núcleo de Flutter, por lo que es recomendable estar atento a la documentación oficial de Flutter para obtener actualizaciones.