flutter - 在 flutter 中生成项目符号点

标签 flutter dart flutter-layout textfield

我正在尝试使用 textField 在 flutter 中获取用户输入,但我想将其作为项目符号列表。我想我可能必须使用一个名为 flutter_markdown 的包,但我仍然不知道我该怎么做。 就像每一行都应该自动以项目符号开头。

最佳答案

你可以这样做的一种方法是这样的。

class MyWidget extends StatefulWidget {
  @override
  _MyWidgetState createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  TextEditingController tc = TextEditingController();
  int currentTextLength = 0;
  
  @override
  Widget build(BuildContext context) {
    return TextField(
      maxLines: 4,
      controller: tc,
      onChanged: (String newText){
        if(newText[0] != '•'){
          newText = '• ' + newText;
          tc.text = newText;
          tc.selection = TextSelection.fromPosition(TextPosition(offset: tc.text.length));
        }
        if(newText[newText.length - 1] == '\n' && newText.length > currentTextLength){
          tc.text = newText + '• ';
          tc.selection = TextSelection.fromPosition(TextPosition(offset: tc.text.length));
        }
        currentTextLength = tc.text.length;
      }
    );
  }
}

注意:这不是一个完美的解决方案。因为如果您开始编辑现有文本中间的文本,它不会放置要点。但也许这可以给你一个方向的开始。

关于flutter - 在 flutter 中生成项目符号点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63464692/

相关文章:

flutter - 我如何显示第一张图像,这是 flutter 网络图像中的一个数组

dart - Flutter image_picker post上传图片

flutter - 如何通过另一个类的方法设置状态

flutter - 如何在 flutter App 上叠加一个小部件?

flutter - Flutter OutlinedButton 小部件中奇怪的黑色背景

flutter - 如何在 Flutter 中的图像中实现 DropShadow/阴影效果?

flutter - 如何预缓存 flutter 火光动画

list - 类型 'List<Map<Object, Object>>'不是类型转换中的 'List<Map<String, Object>>'类型的子类型

android - FLutter中可滚动列中的4个水平Listview

dart - Dart HttpRequest返回 future