Junior
Jaké jsou způsoby zadávání textu v aplikaci?
sobes.tech AI
Odpověď od AI
V Flutteru existuje několik základních způsobů zadávání textu:
-
Widget
TextField:- Výchozí widget pro jednořádkový vstup textu.
- Umožňuje přizpůsobit vzhled, chování, klávesnici, validaci a ovladač.
- Vhodné pro pole pro zadání jména, emailu, hesla atd.
// Příklad použití TextField TextField( decoration: InputDecoration( labelText: 'Jméno', border: OutlineInputBorder(), ), onChanged: (text) { // Zpracování změny textu }, ) -
Widget
TextFormField:- Obal nad
TextField, integrovaný sForm. - Zjednodušuje validaci vstupu a ukládání dat formuláře.
- Často se používá ve formulářích ke sběru uživatelských dat.
// Příklad použití TextFormField TextFormField( decoration: InputDecoration( labelText: 'Email', ), validator: (value) { if (value == null || value.isEmpty) { return 'Prosím, zadejte email'; } return null; // Vrací null, pokud validace proběhla úspěšně }, onSaved: (value) { // Uložení hodnoty po validaci formuláře }, ) - Obal nad
-
Widget
EditableText:- Nízké úrovně widget pro upravitelný text.
- Poskytuje základní možnosti úprav, ale nemá hotové rozhraní (dekorace).
- Používá se pro tvorbu vlastních vstupních polí, například v textových editorech.
// Příklad použití EditableText (vyžaduje více ručního nastavení) EditableText( controller: TextEditingController(), // Ovladač pro správu textu focusNode: FocusNode(), // Uzel fokusu style: TextStyle(color: Colors.black), // Styl textu cursorColor: Colors.blue, // Barva kurzoru backgroundCursorColor: Colors.grey, // Barva pozadí kurzoru ) -
Systémová klávesnice:
- Flutter automaticky spravuje zobrazení systémové klávesnice při zaměření na vstupní widgety.
- Typ klávesnice (číselná, abecední, email atd.) lze nastavit pomocí vlastnosti
keyboardTypevTextFieldneboTextFormField.
// Nastavení číselné klávesnice TextField( keyboardType: TextInputType.number, ) -
Vlastní klávesnice:
- Lze implementovat vlastní klávesnici vytvořením widgetů tlačítek a jejich zpracováním při stisknutí pro změnu textu v ovladači vstupu.
- Tento přístup se používá pro speciální případy, například bankovní aplikace s unikátním rozložením.
-
Vkládání textu ze schránky:
- Widgety
TextFieldaTextFormFieldve výchozím nastavení podporují vkládání textu ze schránky přes kontextové menu. - Programový přístup ke schránce je realizován přes třídu
Clipboard.
import 'package:flutter/services.dart'; // Získání textu ze schránky Future<void> pasteText() async { ClipboardData? data = await Clipboard.getData(Clipboard.kTextPlain); if (data != null) { String? text = data.text; // Použití získaného textu } } - Widgety
V závislosti na úkolu a požadavcích na UI si vyberete vhodný způsob zadávání textu. Pro většinu standardních scénářů postačí TextField a TextFormField.