【发布时间】:2021-12-29 07:21:29
【问题描述】:
我想创建一个可以通过键盘滚动的 DataTable,因此,我使用了 ImprovementScrolling 包来实现这种可访问性。 但是当我点击键盘上的向上箭头时,焦点会变为上面的 TextField。我也尝试删除该 TextFiled 但焦点仍更改为我的应用程序中的另一个小部件。是否有任何小部件可以使焦点完全不改变?
这是我的代码:
import 'package:flutter/material.dart';
import 'package:flutter_improved_scrolling/flutter_improved_scrolling.dart';
class EmployeePage extends StatelessWidget {
EmployeePage({Key? key}) : super(key: key);
final controller = ScrollController();
@override
Widget build(BuildContext context) {
final height = MediaQuery.of(context).size.height;
final width = MediaQuery.of(context).size.width;
return Padding(
padding: const EdgeInsets.all(30),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
children: [
Row(
children: [
Padding(
padding: const EdgeInsets.only(top: 10.0),
child: Text(
"Employee Dashboard",
style: Theme.of(context).textTheme.headline1,
),
),
],
),
const SizedBox(height: 15),
Expanded(
child: Container(
width: width / 2,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5),
color: Colors.white,
),
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Employees",
style: Theme.of(context).textTheme.headline2,
),
Padding(
padding: const EdgeInsets.only(right: 32.0),
child: SizedBox(
width: 250,
height: 35,
child: Material(
color: Colors.white,
elevation: 2,
child: TextField(
autofocus: false,
keyboardType: TextInputType.name,
maxLines: 1,
onChanged: (text) {},
decoration: const InputDecoration(
border: InputBorder.none,
focusedBorder: InputBorder.none,
hintStyle: TextStyle(
fontSize: 8,
color: Colors.black12,
),
hintText: "name",
prefixIcon: Icon(
Icons.search,
color: Colors.black45,
),
),
),
),
),
),
],
),
const SizedBox(height: 10),
Expanded(
child: ClipRect(
child: ImprovedScrolling(
scrollController: controller,
enableKeyboardScrolling: true,
enableMMBScrolling: true,
enableCustomMouseWheelScrolling: true,
child: SingleChildScrollView(
controller: controller,
child: DataTable(
columnSpacing: 100,
columns: [
DataColumn(label: Text("name")),
DataColumn(label: Text("gender")),
DataColumn(label: Text("mobile")),
DataColumn(label: Text("age")),
DataColumn(label: Text("mobile")),
DataColumn(label: Text("username")),
DataColumn(label: Text("salary")),
DataColumn(label: Text("point")),
],
rows: someData,
),
),
),
),
)
],
),
),
),
),
],
),
);
}
List<DataRow> someData = [
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
DataRow(cells: [
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
DataCell(
Text("data"),
),
]),
];
}
【问题讨论】:
-
我仍然是 Flutter 的初学者,但我认为 this 可能有助于尝试在
foucs widget中与onkey一起玩 -
谢谢,你把钥匙给了我@medbenzekri