Flutter – Zar Atma Uygulaması

Hatırlatmalar:

Değişken Nasıl Tanımlanır?

int degisken_adi1;
string degisken_adi2;

Önce değişkenin tipini sonra değişkenin adını yazıyoruz. Eğer tanımlarken değer atamamız gerekiyorsa int degisken_adi1=deger; diyerek de değeri belirtiyoruz.

Bir Widget’da değişkeni nerede tanımlıyoruz?

StateFull ve StateLess widget’larda kodları yazdığımız kısımdaki @overwrite yazısının üstüne değişkenlerimizi ve yeni yazacağımız fonksiyonları tanımlayabiliyoruz.

--------------STATE LESS widget için ---------------------

class  extends StatelessWidget {
  const ({Key? key}) : super(key: key);


// işte burada değişken ve fonksiyonlar yazabiliyoruz.
  
  @override
  Widget build(BuildContext context) {
    return Container();
  }
}


-------------STATE FULL widget için------------------------


class  extends StatefulWidget {
  const ({Key? key}) : super(key: key);

  @override
  _State createState() => _State();
}

class _State extends State<> {


// işte buraya değişken ve fonksiyonlarımızı yazabiliyoruz.

  @override
  Widget build(BuildContext context) {
    return Container();
  }
}

Hazırlıklar

Projemizde SteteFull Widget kullanacağız. Eğer uygulama içinde bir değer değişecek ve bu değişim kullanıcıya gösterilecek ise bu değerlerin yer aldığı kapsayıcı widget’ımız StateFull widget olmalıdır.

StateFull widget için google developers’ların hazırladığı videoyu izlemenizi öneririm. İzlemek için

Bölüm 1 için tıklayınız.

Bölüm 2 için tıklayınız.

Ayrıca projemizde kullanacağımız Image widget için hazırlanmış video için tıklayınız.

IMAGE Widget

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

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  int zar = Random().nextInt(6) + 1;
  int yenilenenzar = Random().nextInt(6) + 1;
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
      body: Column(
        children: [
          Text("$zar"),
          Image(
            image: AssetImage("images/$zar.jpg"),
          ),
          GestureDetector(
              onTap: () {
              setState(() {
                  yenilenenzar = Random().nextInt(6) + 1;
              });
                
              
                
              },

              child: Image(
                image: AssetImage("images/$yenilenenzar.jpg"),
                
              )),
              Text("$yenilenenzar")
        ],
      ),
    ));
  }
}

Proje Hakkında K

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*