SelectableText
, Flutter’da kullanıcıların metni seçebilmesine ve kopyalayabilmesine olanak tanıyan bir widget’tır. Normal Text
widget’ından farklı olarak, metin seçme özellikleri sunar.
Temel Özellikler
- Metin Seçimi: Kullanıcılar metnin belirli bölümlerini seçebilir
- Kopyala/Yapıştır Desteği: Seçilen metin panoya kopyalanabilir
- Zengin Metin Desteği:
TextSpan
ile biçimlendirilmiş metinlerde çalışır - Özelleştirilebilir Seçim: Seçim rengi ve araç çubuğu ayarlanabilir
SelectableText(
'Bu metne uzun basarak seçim yapabilirsiniz',
style: TextStyle(fontSize: 16),
)
Özellik | Açıklama |
---|---|
textAlign | Metnin yatay hizalaması |
textDirection | Metin yönü (soldan-sağa/sağdan-sola) |
style | Metin stil ayarları (renk, yazı tipi, boyut vb.) |
showCursor | Metin seçildiğinde imleç gösterimi |
cursorColor | Metin seçim imleci rengi |
selectionControls | Özel seçim kontrolleri (araç çubuğu) |
onSelectionChanged | Seçim değiştiğinde tetiklenen fonksiyon |
SelectableText(
'Özelleştirilebilir seçim',
selectionControls: materialTextSelectionControls.copyWith(
copyButton: (context, onCopy) {
return IconButton(
icon: Icon(Icons.content_copy),
onPressed: onCopy,
);
},
),
toolbarOptions: ToolbarOptions(
copy: true, // Kopyala butonunu göster
selectAll: true, // Tümünü seç butonunu göster
cut: false, // Kes butonunu gizle
paste: false, // Yapıştır butonunu gizle
),
)
Kullanım Alanları
- Kopyalanabilir kod parçacıkları gösterme
- Yasal belgeler gibi metin seçiminin önemli olduğu durumlar
- Eğitim uygulamalarında alıntı yapılabilir metinler
- Sohbet uygulamalarında mesaj seçimi
- Metin ağırlıklı uygulamalarda kullanıcı etkileşimi
Performans Notları
- Normal
Text
widget’ına göre daha fazla kaynak tüketir - Çok uzun metinlerde kullanmaktan kaçının
- Büyük metinler için
ListView
içinde birden fazlaSelectableText
kullanmayı düşünün
TextField’dan Farkları
TextField
‘dan farklı olarak:
- Düzenlenemez (salt okunur)
- Klavye girişi yoktur
- Görüntüleme amaçlıdır
- Zengin metin biçimlendirmesi daha kolaydır
Bu widget, kullanıcıların kopyalamasını veya etkileşimde bulunmasını istediğiniz metinleri görüntülerken oldukça kullanışlıdır.
Bu Yazıya Tepkin Ne Oldu ?
YORUMLAR