स्पंदन में गोली बिंदु उत्पन्न करें

Aug 18 2020

मैं फड़फड़ा में एक टेक्स्टफिल्ड का उपयोग करके उपयोगकर्ता इनपुट लेने की कोशिश कर रहा हूं, लेकिन मैं बुलेट बिंदु सूची के रूप में लेना चाहता हूं। मुझे लगा कि मुझे flutter_markdown नामक पैकेज का उपयोग करना पड़ सकता है, लेकिन मुझे अभी भी नहीं पता कि मैं ऐसा कैसे कर सकता हूं। हर अंतिम पंक्ति की तरह स्वचालित रूप से एक बुलेट के साथ शुरू होना चाहिए।

जवाब

1 JigarPatel Aug 18 2020 at 18:47

ऐसा करने का एक तरीका कुछ इस तरह है।

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;
      }
    );
  }
}

नोट: यह एक सही समाधान नहीं है। जैसे कि यदि आप पाठ को मौजूदा पाठ के बीच में संपादित करना शुरू नहीं करते हैं तो यह बुलेट पॉइंट नहीं डालेगा। लेकिन शायद यह आपको एक दिशा में एक शुरुआत दे सकता है।

2 JupiterChan Aug 18 2020 at 15:46

यदि आप टेक्स्टफील्ड की बुलेट बिंदु सूची चाहते हैं, तो flutter_markdown आपके लिए उपयुक्त नहीं हो सकता है। चूंकि यह एक मार्कडाउन टेक्स्ट दिखा रहा है।

TextFormField(
              decoration: InputDecoration(
                border: InputBorder.none, prefix: Text("."), // Or a Dot image
              ),
            ),
sleepingkit Aug 19 2020 at 12:09

यदि आप एक टेक्स्ट फ़ील्ड रखना चाहते हैं जिसमें बुलेट पॉइंट फ़ंक्शन हैं, तो यह पैकेज आपके लिए उपयुक्त हो सकता है:

https://pub.dev/packages/zefyr

यदि आप इसे अपने दम पर लिखते हैं तो यह जटिल है।

उपयोग करने का तरीका जानने के लिए इसके उदाहरण कोड को देखें:

https://github.com/memspace/zefyr/tree/master/packages/zefyr/example/lib