CodeBlanks Logo Icon CodeBlanks

Artır butonu

FloatingActionButton ile sayacı artıran callback yazarsın.

Artır butonu

Sayacı artırmak için Scaffold'ın floatingActionButton parametresine bir FloatingActionButton verilir. Butonun onPressed callback'inde setState ile _sayac değişkeni 1 artırılır ve ekran yeniden çizilir.

Scaffold(
  floatingActionButton: FloatingActionButton(
    onPressed: () {
      setState(() {
        _sayac = _sayac + 1;
      });
    },
    child: Icon(Icons.add),
  ),
)

Icon ile ekle göstergesi

FloatingActionButton'ın child parametresine genellikle bir Icon verilir. Artırma işlemi için Icon(Icons.add) kullanılır. Bu, kullanıcıya butonun artırma eylemi yaptığını görsel olarak bildirir.

Uygulama Artır butonunu hazırla

artirMesaj adında bir fonksiyon yaz; çağrılınca Artir butonu hazir yazdırsın. SayacEkrani adında bir StatefulWidget yaz; State içinde bir int sayaç değişkeni tanımla (başlangıç 0). build metodunda Scaffold'a bir FloatingActionButton ekle; onPressed setState ile sayacı 1 artırsın, child artı sembolü ikonu olsun. main içinde artirMesaj'ı çağır ve runApp ile SayacEkrani'yı başlat.

Başlangıç kodu

main.dart
import 'package:flutter/material.dart';

// artirMesaj fonksiyonu yaz: "Artir butonu hazir" yazdirsin
// SayacEkrani adinda StatefulWidget yaz
// State icine bir int sayaç degiskeni tanimla (baslangic 0)
// Scaffold'a FloatingActionButton ekle
// onPressed: setState ile sayaci 1 artirsin
// child: arti sembolu ikonu olsun

void main() {
  // artirMesaj'i cagir ve runApp ile baslat
}

Örnek çözüm

main.dart
import 'package:flutter/material.dart';

void artirMesaj() {
  print('Artir butonu hazir');
}

class SayacEkrani extends StatefulWidget {
  const SayacEkrani({super.key});

  @override
  State<SayacEkrani> createState() => _SayacEkraniState();
}

class _SayacEkraniState extends State<SayacEkrani> {
  int _sayac = 0;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(child: Text('$_sayac')),
        floatingActionButton: FloatingActionButton(
          onPressed: () {
            setState(() {
              _sayac = _sayac + 1;
            });
          },
          child: Icon(Icons.add),
        ),
      ),
    );
  }
}

void main() {
  artirMesaj();
  runApp(const SayacEkrani());
}

Beklenen çıktı

Artir butonu hazir

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 FloatingActionButton'ın onPressed'ında ne yapılır?

  • Uygulama kapatılır
  • AppBar gizlenir
  • Yeni ekran açılır
  • Sayac setState içinde 1 artırılır Doğru cevap

Açıklama: Artır butonunun onPressed'ında setState içinde sayacı 1 artırmak gerekir; ekran açma, uygulama kapatma veya AppBar gizleme bu amaca yönelik değildir.

2 setState içinde artırma

Soru
FloatingActionButton(
  onPressed: () {
    ____(() {
      _sayac = _sayac + 1;
    });
  },
  child: Icon(Icons.add),
)
Cevap
FloatingActionButton(
  onPressed: () {
    setState(() {
      _sayac = _sayac + 1;
    });
  },
  child: Icon(Icons.add),
)

Açıklama: Artırma işleminin ekrana yansıması için setState çağrılır; build, refresh veya update aynı işi yapmaz.

3 Artır butonu parçaları

Kavram Anlamı
FloatingActionButton Yüzen artırma butonu
onPressed Basınca çağrılan callback
setState Ekranı yeniden çizer
Icon(Icons.add) Artı sembolü ikonu

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