Musa BAL
2 min readSep 12, 2021

BUGÜN NE YESEM?

//UYGULAMA ANA DİZİNİNE assets/images klasörü ekledik fotoğrafları yükledik. pubspec.yaml dosyasından konfigüre ettik.

// KÜTÜPHANELERİ EKLEDİK

import ‘package:flutter/material.dart’;

import ‘dart:math’; //RANDOM İŞLEMİ İÇİN EKLENDİ

// ANA PROGRAM İLE FONKSİYONU ÇAĞIRDIK

void main() {

runApp(BenimUygulamam());

}

// UYGULAMANIN APPBAR INI OLUŞTURDUK GÖVDE İÇİN BAŞKA BİR FONK. ÇAĞIRDIK

class BenimUygulamam extends StatelessWidget { // ekran bir kere boyanacak ve daha değişmeyecek. state almaz. durumsuz widget

@override

Widget build(BuildContext context) {

return MaterialApp( // materialapp kütüphanesini kullanacağız

home: Scaffold(

appBar: AppBar(

backgroundColor: Colors.blue[300],

centerTitle: true,

title: Text(‘BUGÜN NE YESEM?’,

style: TextStyle(color: Colors.black), // title text i şekillendiriyoruz

),

),

body: YemekSayfasi(),

backgroundColor: Colors.brown[100], // body kısmını fonksiyon ile dolduruyoruz

),

);

}

}

// STATEFULWIDGET İLE KLAS OLUŞTURDUK

class YemekSayfasi extends StatefulWidget {

@override

_YemekSayfasiState createState() => _YemekSayfasiState();

}

class _YemekSayfasiState extends State<YemekSayfasi> {

int corbaNo=1; // Değişken tanımlamaları yapıldı

int yemekNo=1;

int tatliNo=1;

List <String> corbaListe = [“Mercimek Çorbası”, “Tarhana Çorbası”, “Tavuksuyu Çorbası”, “Düğün Çorbası”, “Yayla Çorbası”];

List <String> yemekListe = [“İmambayıldı”, “Mantı”, “Kuru Fasulye”, “İçli Köfte”, “Çupra Izgara”];

List <String> tatliListe = [“Kadayıf”, “Baklava”, “Sütlaç”, “Kazandibi”, “Dondurma”];

void yemekDegistir(){ // onPress içine tek elden iş yapmak için fonksiyon yazdık

setState(() { // state içindeki değişkeni setState ile değiştirdik

corbaNo= Random().nextInt(5)+1; // random metodu ile her tıklamada çorbayı değiştirdik

yemekNo=Random().nextInt(5)+1;

tatliNo = Random().nextInt(5)+1;

});

}

@override

Widget build(BuildContext context) {

return Center(

child: Column(

children: <Widget>[ // Column içine öğeler yerleştirmek için children <Widget> [] kullanılır

Expanded(

child: Padding( // expand ile aynı öğe içindeki kardeş resimleri boyutlandırdık. flex: 1x, flex:2x, flex: 5x

padding: const EdgeInsets.all(8.0),

child: FlatButton(

highlightColor: Colors.white, // buton basıldığında taşan arka rengi saklamak için

splashColor: Colors.white, // buton basıldığında taşan arka rengi saklamak için

onPressed: yemekDegistir, // tek satır olduğu için {}, parametre beklemesin diye () kullanmadık

child: Image.asset(“assets/images/corba_$corbaNo.jpg”),

),

),

),

Text(

corbaListe[corbaNo-1],

style: TextStyle(

fontSize: 15,

fontWeight:FontWeight.bold

),

),

Container(

width: 300,

child: Divider(

height: 15,

color: Colors.brown

),

),

Expanded(

child: Padding(

padding: const EdgeInsets.all(8.0), //resimlerin çevresine 12 px padding

child: FlatButton(

highlightColor: Colors.red,

splashColor: Colors.red,

onPressed: yemekDegistir,

child: Image.asset(“assets/images/yemek_$yemekNo.jpg”),

),

),

),

Text(

yemekListe[yemekNo-1], // diziden resimlerdeki yemeğin adını çekiyoruz

style: TextStyle(

fontSize: 15,

fontWeight: FontWeight.bold

),

),

Container( // Divider e genişlik ayarı vermek için Container içine aldık

width: 300,

child: Divider(

height: 15,

color: Colors.brown,

),

),

Expanded(

child: Padding(

padding: const EdgeInsets.all(8.0),

child: FlatButton(

highlightColor: Colors.blue,

splashColor: Colors.blue,

onPressed: yemekDegistir,

child: Image.asset(“assets/images/tatli_$tatliNo.jpg”),

),

),

),

Text(

tatliListe[tatliNo-1],

style: TextStyle(

fontSize: 15,

fontWeight: FontWeight.bold,

),

),

Container(

width: 300,

child: Divider(

height: 15,

color: Colors.brown,

),

)

],

),

);

}

}

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Musa BAL
Musa BAL

No responses yet

Write a response