Клавиши Shift + Tab и стрелки (также D-PAD) не работают для обхода фокуса TextFormField - PullRequest
0 голосов
/ 23 января 2020

Я разрабатываю приложение, которое должно работать как на Android мобильных устройствах, так и на Android телевизорах. В приложении есть проблемы с фокусировкой полей в формах входа и регистрации. Вот минимальный воспроизводимый пример:

import 'package:flutter/material.dart';

void main() => runApp(TestApp());

class TestApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Test App'),
        ),
        body: SingleChildScrollView(
          padding: const EdgeInsets.all(8.0),
          child: TestWidget(),
        ),
      ),
    );
  }
}

class TestWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: List<Widget>.generate(5, (int index) => TextFormField(
        decoration: InputDecoration(
          labelText: 'Field ${index + 1}',
        ),
      )),
    );
  }
}

Фокус перемещается к следующему полю с помощью клавиши Tab, но предыдущее поле не получает фокус при нажатии Shift+Tab. Кроме того, ни клавиши со стрелками, ни Android клавиши пульта ДУ ТВ не работают для обхода фокуса TextFormField, но отлично работают для других фокусируемых виджетов.

...