如何解决Flutter Android TV应用程序无法使用D Pad进行选择
我正在使用Flutter开发一个Android TV应用。我能够运行该应用程序(目前为示例应用程序)。但是我无法使用d键盘选择按钮选择任何东西。
我发现我必须使用类似这样的东西才能实现这一目标
快捷方式(
shortcuts: {
LogicalKeySet(LogicalKeyboardKey.select):
const Intent(ActivateAction.key)
},child: MaterialApp())
但是它给了我代码错误。我在做什么错了?
感谢您的帮助。谢谢。
解决方法
添加此代码对于Android TV确定/选择按钮肯定有帮助,并且可以扩展为其他映射。为Flutter 1.24-dev构建并完美工作
LiveData
,
您可以使用 RawKeyboardListener 代替快捷方式,我使用了以下代码:
body: RawKeyboardListener(
autofocus: true,focusNode: _focusNode,onKey: _onKey,child:Center())
void _onKey(RawKeyEvent e) {
controls();
if (e.runtimeType.toString() == 'RawKeyDownEvent') {
switch (e.logicalKey.debugName) {
case 'Media Play Pause':
case 'Select':
setState(() {
if (_videoViewController.value.isPlaying) {
_videoViewController.pause();
} else {
_videoViewController.play();
}
});
break;
}
}`
现在,如果您想快进或快退,只需将 RawKeyboardListener 与 具体情况来处理。
您也可以使用 D-PAD 键执行此类操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。