Junior
Millised on tekstisisestamise viisid rakenduses?
sobes.tech AI
Vastus AI-lt
Flutteris on mitu peamist viisi teksti sisestada:
-
**
TextFieldvidin: **- Standartne vidin ühe rea teksti sisestamiseks.
- Võimaldab kohandada välimust, käitumist, klaviatuuri, valideerimist ja kontrollerit.
- Sobib nime, e-posti, parooli ja muude väljade jaoks.
// Näide TextField kasutamisest TextField( decoration: InputDecoration( labelText: 'Nimi', border: OutlineInputBorder(), ), onChanged: (text) { // Teksti muutmise töötlemine }, ) -
TextFormFieldvidin:TextFieldkate, mis on integreeritudForm-iga.- Lihtsustab sisendi valideerimist ja vormi andmete salvestamist.
- Kasutatakse sageli vormides kasutaja andmete kogumiseks.
// Näide TextFormField kasutamisest TextFormField( decoration: InputDecoration( labelText: 'E-post', ), validator: (value) { if (value == null || value.isEmpty) { return 'Palun sisestage e-post'; } return null; // Valideerimine õnnestus }, onSaved: (value) { // Väärtuse salvestamine valideerimise järel }, ) -
EditableTextvidin:- Madala taseme vidin redigeeritava teksti jaoks.
- Pakub põhivõimalusi redigeerimiseks, kuid ei oma valmis kujundust.
- Kasutatakse kohandatud sisestusväljade loomisel, näiteks tekstiredaktorites.
// Näide EditableText kasutamisest (nõuab rohkem käsitsi seadistust) EditableText( controller: TextEditingController(), // Teksti kontroller focusNode: FocusNode(), // Fookusnode style: TextStyle(color: Colors.black), // Teksti stiil cursorColor: Colors.blue, // Kursorivärv backgroundCursorColor: Colors.grey, // Kursoritausta värv ) -
Süsteemklaviatuur:
- Flutter haldab automaatselt süsteemklaviatuuri kuvamist, kui fookus on sisestusvidinil.
- Klaviatuuri tüüp (arvuline, tähemärkide, e-posti jms) saab määrata
keyboardTypeomadusegaTextFieldvõiTextFormField-is.
// Arvutüüpi klaviatuuri seadistamine TextField( keyboardType: TextInputType.number, ) -
Kohandatud klaviatuur:
- Võimalik luua oma klaviatuur, tehes nuppude vidinaid ja töötades nende vajutustega, et muuta teksti sisestuskontrolleris.
- Seda lähenemist kasutatakse erijuhtudel, näiteks pankade rakendustes unikaalse paigutusega.
-
Teksti sisestamine lõikelaualt:
TextFieldjaTextFormFieldtoetavad vaikimisi teksti sisestamist lõikelaualt kontekstimenüü kaudu.- Programmaatiline juurdepääs lõikelauale toimub
Clipboardklassi kaudu.
import 'package:flutter/services.dart'; // Teksti saamine lõikelaualt Future<void> pasteText() async { ClipboardData? data = await Clipboard.getData(Clipboard.kTextPlain); if (data != null) { String? text = data.text; // Kasutada saadud teksti } }
Sõltuvalt ülesandest ja UI nõuetest valitakse sobiv tekstisisestusviis. Enamikul juhtudel piisab TextField ja TextFormField kasutamisest.