作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了 Flutter Web 的 TextField 问题。每当文本变得太长,从而导致 TextField 滚动查看所有内容(在单行字段中)时,我不再能够单击并拖动以选择文本。当文本较短时,选择很好。你可以看到附在此处的 GIF:
我认为这与手势捕获的顺序错误有关,但我无法找到解决方法。
据this github issue上的几个人说,解决文本选择问题的一种方法是使用以下两个命令之一:
flutter run -d chrome --release --dart-define=FLUTTER_WEB_USE_SKIA=true
flutter run -d chrome --release --dart-define=FLUTTER_WEB_USE_EXPERIMENTAL_CANVAS_TEXT=true
maxLines
对于像 5 这样的固定数字,我在垂直滚动和选择方面遇到了类似的问题。
flutter_html
只是以这种方式呈现文本字段,但如果可能的话,我想避免这样做。
最佳答案
我遇到了同样的问题并找到了这个解决方案:
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
class TextFieldScrollTest extends StatelessWidget {
@override
Widget build(BuildContext context) {
final scrollController = ScrollController();
final textController = TextEditingController(text: '________a________b_________c________d________e_______f_______g_______h______i_______j_________k__________l__________m________n_________o_______p');
return Scaffold(
body: Listener(
onPointerSignal: (_) {
if (_ is PointerScrollEvent) {
_scrollController.jumpTo(
math.max(
math.min(
_scrollController.position.maxScrollExtent,
_scrollController.offset + _.scrollDelta.dx,
),
_scrollController.position.minScrollExtent,
),
);
}
},
child: ConstrainedBox(
constraints: const BoxConstraints(maxWidth: 500),
child: TextField(
controller: textController,
scrollPhysics: const NeverScrollableScrollPhysics(),
scrollController: scrollController,
),
),
),
);
}
}
您遇到的行为(鼠标拖动文本会滚动文本而不是选择)可以使用
NeverScrollableScrollPhysics
来抑制。 .然而,这将阻止所有滚动。
Listener
的
onPointerSignal
将使用鼠标滚轮或触摸板的两指滑动检测水平滚动。
关于textfield - Flutter Web - 文本字段滚动而不是选择长文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65526803/
本文使用第一人称来介绍Redis 一、概述 Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于
这个问题已经有答案了: 奥 git _a (12 个回答) 已关闭 7 年前。 我正在为一个类项目创建一个正则表达式解析器,但我遇到了一个不知道如何解决的问题。每当遇到带括号的组时,都应该向 grou
我在玩简单的牛轧糖和十字游戏时遇到问题,我试图设置获胜条件,在击中三个位置/ block 时,它会显示一条消息,声明您已赢得游戏并禁用所有其他位置/ block 但是我的行为很奇怪,例如,如果您尝试通
我是一名优秀的程序员,十分优秀!