onHorizontalDragUpdate
- Flutter kursu
- Başlangıç
- Ders 54/99
- 4 dk
Yatay sürükleme olaylarını yakalamayı öğrenirsin.
onHorizontalDragUpdate
onHorizontalDragUpdate, kullanıcı parmağını yatayda sürükledikçe çağrılır. Sürüklemenin her adımında bu callback tekrar tekrar çağrılır. Parametre olarak DragUpdateDetails alır; bu nesne sürüklemenin yönünü ve miktarını verir.
GestureDetector(
onHorizontalDragUpdate: (details) {
print(details.delta.dx);
},
child: Container(width: 200, height: 80),
)DragUpdateDetails.delta
DragUpdateDetails nesnesinin delta özelliği, son olaydan bu yana parmağın ne kadar hareket ettiğini verir. delta.dx yataydaki değişimi, delta.dy ise dikeydeki değişimi verir. Sürükleme sırasında bu değerleri toplayarak toplam kaydırma miktarını hesaplayabilirsin.
Uygulama Sürükleme callback'i yaz
surukleme adında bir fonksiyon yaz; DragUpdateDetails parametresi alsın ve details.delta.dx değerini print ile yazdırsın. main içinde surukleme'yi DragUpdateDetails(globalPosition: Offset.zero, delta: Offset(7, 0)) ile çağır.
Başlangıç kodu
import 'package:flutter/material.dart';
// surukleme fonksiyonu DragUpdateDetails parametresi alsin
// details.delta.dx degerini print ile yazdirsin
void main() {
// surukleme fonksiyonunu su degerlerle cagir:
// DragUpdateDetails(globalPosition: Offset.zero, delta: Offset(7, 0))
}Örnek çözüm
import 'package:flutter/material.dart';
void surukleme(DragUpdateDetails details) {
print(details.delta.dx);
}
void main() {
surukleme(DragUpdateDetails(
globalPosition: Offset.zero,
delta: const Offset(7, 0),
));
}Beklenen çıktı
7.0
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 onHorizontalDragUpdate callback'inin parametresi hangi türdendir?
- TouchUpdateDetails
- SwipeDetails
- DragUpdateDetails Doğru cevap
- TapDetails
Açıklama: onHorizontalDragUpdate callback'i DragUpdateDetails türünde bir parametre alır; bu nesne delta ve globalPosition gibi alanlar içerir.
2 delta.dx değerine eriş
onHorizontalDragUpdate: (details) {
print(details.____.dx);
},
onHorizontalDragUpdate: (details) {
print(details.delta.dx);
},
Açıklama: DragUpdateDetails nesnesinde hareket miktarı delta özelliğindedir; delta.dx yatay değişimi verir.
3 Sürükleme parçaları
| Kavram | Anlamı |
|---|---|
onHorizontalDragUpdate |
Yatay sürükleme callback'i |
DragUpdateDetails |
Callback'in parametre türü |
delta.dx |
Yataydaki değişim |
delta.dy |
Dikeydeki değişim |