Я разрабатываю приложение, которое должно работать как на 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
, но отлично работают для других фокусируемых виджетов.