¿Cómo detectar cuando se selecciona un TextField en Flutter?

Estúpida pregunta de novato Flutter aquí ...

Tengo un campo de texto Flutter que queda cubierto por el teclado virtual cuando se selecciona el campo. Necesito desplazar el campo hacia arriba y fuera del camino cuando se muestra el teclado. Este es un problema bastante común y se presenta una solución en estePublicación StackOverflow.

Creo que tengo elScrollController parte descubrió, pero ¿cómo puedo detectar cuando elCampo de texto ¿has sido seleccionado? No parece haber ningún método de evento (por ejemplo, onFocus (), onSelected (), onTap (), etc.).

Traté de envolver el TextField en unDetector de gestos pero eso tampoco funcionó, aparentemente el evento nunca fue capturado.

new GestureDetector(
  child: new TextField(
    decoration: const InputDecoration(labelText: 'City'),
  ),
  onTap: () => print('Text Selected'),
),

Este es un requisito tan básico que sé que debe haber una solución fácil.

Gracias por la ayuda.

Respuestas a la pregunta(2)

Su respuesta a la pregunta