【发布时间】:2021-09-15 15:30:29
【问题描述】:
我正在为 Flutter 桌面开发,并且遇到问题,因为当应用程序屏幕未最大化时,按 Tab 键不会在文本字段中循环。
我在一个 Gridview 中排列了 8 个文本字段,当应用程序屏幕最大化时,tab 键按预期在字段中移动,从左到右然后向下。当我减小屏幕尺寸时,制表键仅在连续循环中循环 2 个字段。我怎样才能让它正常工作? 代码如图:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
// Here we take the value from the MyHomePage object that was created by
// the App.build method, and use it to set our appbar title.
title: Text("Test App"),
),
body: Center(
// Center is a layout widget. It takes a single child and positions it
// in the middle of the parent.
child:Container(
height: 180,
// width: MediaQuery.of(context).size.width * 0.9,
child: GridView.count(
scrollDirection: Axis.vertical,
crossAxisCount: 4,
childAspectRatio: 5,
children: [
buildColumn(context,txt: "A"),
buildColumn(context,txt: "B"),
buildColumn(context,txt: "C"),
buildColumn(context,txt: "D"),
buildColumn(context,txt: "E"),
buildColumn(context,txt: "F"),
buildColumn(context,txt: "G"),
buildColumn(context,txt: "H"),
])
)
)
);
}
Column buildColumn(BuildContext context,{txt}) {
return Column(children: [
Text(txt),
Container(
height: MediaQuery.of(context).size.height * 0.04,
width: 300,
child:TextFormField(decoration: InputDecoration(
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Colors.black12, width: 1.0),
),),)
),
]
);
}
}
【问题讨论】:
标签: flutter dart flutter-desktop