我需要向所有文本小部件添加语义值,有没有办法自动执行此操作,以避免手动添加?
没有自动方法,但您可以制作自己的文本输入来包装颤动文本并重复使用它。这是一个基本示例:
import 'package:flutter/material.dart';
class SemanticTextField extends StatelessWidget {
final String semanticLabel;
final Function(String)? onChanged;
const SemanticTextField({
Key? key,
required this.semanticLabel,
this.onChanged,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Semantics(
container: true,
textField: true,
label: semanticLabel,
child: TextFormField(
onChanged: onChanged,
),
);
}
}