Sobes.tech
Junior

Tətbiqdə mətn daxil etmənin hansı üsulları mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

Flutter-da mətn daxil etmənin əsas bir neçə yolu mövcuddur:

  1. TextField widgeti:

    • Bir sətirlik mətn daxil etmə üçün standart widget.
    • Görünüşü, davranışı, klaviaturası, doğrulama və nəzarətçini tənzimləməyə imkan verir.
    • Ad, email, şifrə və s. daxil etmə sahələri üçün uyğundur.
    // TextField istifadə nümunəsi
    TextField(
      decoration: InputDecoration(
        labelText: 'Ad',
        border: OutlineInputBorder(),
      ),
      onChanged: (text) {
        // Mətn dəyişikliklərinin işlənməsi
      },
    )
    
  2. TextFormField widgeti:

    • TextField-in əhatə etdiyi və Form ilə inteqrasiya olunmuş.
    • Daxil etmənin doğrulanmasını və form məlumatlarının saxlanmasını sadələşdirir.
    • İstifadəçi məlumatlarının toplanması üçün formalarda tez-tez istifadə olunur.
    // TextFormField istifadə nümunəsi
    TextFormField(
      decoration: InputDecoration(
        labelText: 'Email',
      ),
      validator: (value) {
        if (value == null || value.isEmpty) {
          return 'Zəhmət olmasa, email daxil edin';
        }
        return null; // Doğrulama uğurlu olarsa null qaytarır
      },
      onSaved: (value) {
        // Doğrulama sonrası dəyərin saxlanması
      },
    )
    
  3. EditableText widgeti:

    • Aşağı səviyyəli redaktə edilə bilən mətn üçün widget.
    • Əsas redaktə imkanları təqdim edir, lakin hazır dizaynı yoxdur.
    • Xüsusi giriş sahələrinin yaradılmasında istifadə olunur, məsələn, mətn redaktorlarında.
    // EditableText istifadə nümunəsi (daha çox əl ilə tənzimləmə tələb edir)
    EditableText(
      controller: TextEditingController(), // Mətnin idarə olunması üçün nəzarətçi
      focusNode: FocusNode(), // Fokus nodu
      style: TextStyle(color: Colors.black), // Mətnin stili
      cursorColor: Colors.blue, // İmlecin rəngi
      backgroundCursorColor: Colors.grey, // İmlecin fon rəngi
    )
    
  4. Sistem klaviaturası:

    • Flutter avtomatik olaraq mətn daxil etmə widgetlərinə fokuslandıqda sistem klaviaturasını göstərir.
    • Klaviatura növü (rəqəmsal, hərfli, email və s.) TextField və ya TextFormField-də keyboardType xüsusiyyəti ilə tənzimlənə bilər.
    // Rəqəmsal klaviatura tənzimlənməsi
    TextField(
      keyboardType: TextInputType.number,
    )
    
  5. Xüsusi klaviatura:

    • Öz klaviaturanızı yaratmaq üçün düymələr widgetləri və onların basılmasını idarə edə bilərsiniz.
    • Bu yanaşma xüsusi hallarda, məsələn, bank tətbiqlərində unikal klaviatura düzənində istifadə olunur.
  6. Clipboard-dən mətn yapışdırma:

    • TextFieldTextFormField widgetləri kontekst menyusu vasitəsilə clipboard-dən mətn yapışdırmağa dəstək verir.
    • Clipboard-ə proqram vasitəsilə çıxış Clipboard sinfi ilə həyata keçirilir.
    import 'package:flutter/services.dart';
    
    // Clipboard-dən mətn əldə etmək
    Future<void> pasteText() async {
      ClipboardData? data = await Clipboard.getData(Clipboard.kTextPlain);
      if (data != null) {
        String? text = data.text;
        // Alınan mətnlə işləmək
      }
    }
    

Əsasən, UI tələblərinə və vəzifəyə uyğun olan mətn daxil etmə metodunu seçirsiniz. Əksər standart ssenarilər üçün TextFieldTextFormField kifayətdir.