Junior
Uygulamada metin girişinin hangi yolları vardır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Flutter'da metin girişinin birkaç temel yolu vardır:
-
TextFieldWidget'ı:- Tek satırlık metin girişi için standart widget.
- Görünüm, davranış, klavye, doğrulama ve denetleyiciyi özelleştirmeye olanak tanır.
- İsim, e-posta, şifre gibi giriş alanları için uygundur.
// TextField kullanım örneği TextField( decoration: InputDecoration( labelText: 'İsim', border: OutlineInputBorder(), ), onChanged: (text) { // Metin değişikliklerini işle }, ) -
TextFormFieldWidget'ı:TextField'ın sarmalayıcısı veFormile entegre.- Giriş doğrulama ve form verilerinin kaydını kolaylaştırır.
- Kullanıcı verilerini toplamak için formlarda sıkça kullanılır.
// TextFormField kullanım örneği TextFormField( decoration: InputDecoration( labelText: 'E-posta', ), validator: (value) { if (value == null || value.isEmpty) { return 'Lütfen E-posta giriniz'; } return null; // Doğrulama başarılıysa null döner }, onSaved: (value) { // Doğrulama sonrası değeri kaydet }, ) -
EditableTextWidget'ı:- Düşük seviyeli düzenlenebilir metin widget'ı.
- Temel düzenleme özellikleri sağlar, ancak hazır bir tasarımı yoktur (dekorasyonlar).
- Özelleştirilmiş giriş alanları oluşturmak için kullanılır, örneğin metin düzenleyicilerde.
// EditableText kullanım örneği (daha fazla manuel yapılandırma gerektirir) EditableText( controller: TextEditingController(), // Metni yönetmek için denetleyici focusNode: FocusNode(), // Odak düğümü style: TextStyle(color: Colors.black), // Metin stili cursorColor: Colors.blue, // İmleç rengi backgroundCursorColor: Colors.grey, // İmleç arka plan rengi ) -
Sistem klavyesi:
- Flutter, metin giriş widget'larına odaklanıldığında sistem klavyesinin otomatik olarak gösterilmesini yönetir.
- Klavye türü (sayısal, alfabetik, e-posta vb.)
TextFieldveyaTextFormField'dekikeyboardTypeözelliğiyle ayarlanabilir.
// Sayısal klavye ayarı TextField( keyboardType: TextInputType.number, ) -
Özelleştirilmiş klavye:
- Kendi klavyenizi, düğmeler oluşturarak ve bunların basılmasını işleyerek, giriş denetleyicisindeki metni değiştirecek şekilde uygulayabilirsiniz.
- Bu yaklaşım, örneğin, benzersiz düzenlemeye sahip bankacılık uygulamaları gibi özel durumlar için kullanılır.
-
Panodan metin yapıştırma:
TextFieldveTextFormFieldwidget'ları, varsayılan olarak bağlam menüsü aracılığıyla panodan metin yapıştırmayı destekler.- Programatik erişim,
Clipboardsınıfı kullanılarak yapılır.
import 'package:flutter/services.dart'; // Panodan metin alma Future<void> pasteText() async { ClipboardData? data = await Clipboard.getData(Clipboard.kTextPlain); if (data != null) { String? text = data.text; // Alınan metni kullan } }
Görev ve UI gereksinimlerine göre uygun metin giriş yöntemi seçilir. Çoğu standart senaryo için TextField ve TextFormField yeterlidir.