CodeBlanks Logo Icon CodeBlanks

onHorizontalDragUpdate

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

main.dart
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

main.dart
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ş

Soru
onHorizontalDragUpdate: (details) {
  print(details.____.dx);
},
Cevap
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

Başlangıç bölümündeki tüm dersler