Sparround

İstifadəçi girişi və formalar

İstifadəçi girişinin iki qatı var:

  • JestlərGestureDetector (tap, drag, long press) və InkWell (eyni + Material ripple effekti). Düymələr üçün hazır widget varsa, onu istifadə et; GestureDetector xüsusi hallar üçündür.
  • Mətn girişiTextField sərbəst istifadə üçün, TextFormField isə Form daxilində validasiya ilə.

Form + GlobalKey<FormState> kombinasiyası standart pattern-dir: _formKey.currentState!.validate() bütün sahələrin validator funksiyalarını işə salır və nəticəni bool kimi qaytarır.

Mətn sahəsinin dəyərini oxumağın iki yolu var və seçim vacibdir:

  • `TextEditingController` — dəyəri istənilən anda oxumaq/dəyişmək lazımdırsa. State-də yaradılır və dispose()-da bağlanır
  • `onChanged` / `onSaved` — sadəcə dəyəri toplamaq kifayətdirsə; controller-siz daha yüngüldür

autovalidateMode validasiyanın nə vaxt işə düşəcəyini təyin edir. AutovalidateMode.onUserInteraction adətən ən yaxşı UX-dir: istifadəçi hələ heç nə yazmamış xəta göstərmir, amma yazmağa başlayandan sonra dərhal geri bildirim verir.

Interview ipucu. Forma sualında UX detalları səni ayırır: klaviatura açılanda məzmunun görünməsi (Scaffold bunu özü edir, amma SingleChildScrollView lazım ola bilər), textInputAction ilə "Next/Done" düymələri, keyboardType ilə düzgün klaviatura, və göndərmə zamanı düymənin bloklanması ki, ikiqat submit olmasın. Bunlar real cihazda dərhal hiss olunan şeylərdir.

📚 Mənbələr və sənədlər