Musa BAL
2 min readSep 13, 2021

DAVUL UYGULAMASI — REFACTOR ÖNCESİ

import ‘package:flutter/material.dart’;

import ‘package:audioplayers/audioplayers.dart’; // sesleri çalmak için kütüphane yükledik

void main(){

runApp(DavulUygulamasi());

}

class DavulUygulamasi extends StatelessWidget {

@override

Widget build(BuildContext context) {

return MaterialApp(

home: Scaffold(

backgroundColor: Colors.black, // Uygulamanın arka zemin renk ayarını Scaffold üzerinden yaptık

body:

DavulSayfasi(), // Kodları parçalı anlaşılır yapmak için body kısmını dolduracağımız fonk. hazırladık

),

);

}

}

class DavulSayfasi extends StatelessWidget { // Kodu tek parça ve okuması zor olmasın diye ek fonk. hazırladık

final oynatici = AudioCache(); // Ses kütüphanesinin AudioCache() metodunu instance ettik

void sesiCal(String parca){ // Sesleri çalmak için parça adını parametre olarak alıyoruz

oynatici.play(parca); // sesiCal() fonksiyonu ile her butonda ayrı ayrı kod yazmıyoruz

}

@override

Widget build(BuildContext context) {

return SafeArea(

child: Padding(

padding: const EdgeInsets.fromLTRB(8, 4, 8, 4), // hücrelerin en dış boşlukları için

child: Column( // 4X2 hücre yapısını içine alan Column tanımladık

children: [

Expanded( // Row ekranda görünmesi ve yayılması için Expanded içine aldık

child:

Row( // Column içindeki 1. sol satır

children: [

Expanded( // FlatButton ekranda görünmesi ve yayılması için Expanded içine aldık

child: FlatButton(

padding: EdgeInsets.all(10),

onPressed: (){

sesiCal(“bip.wav”);

},

child: Container( // Container FlatButton ile sarıldı

color: Colors.blueAccent, // Containerin içene renk verdik

),

),

),

Expanded(

child: FlatButton(

padding: EdgeInsets.all(10),

onPressed: (){

sesiCal(“bongo.wav”);

},

child: Container(

color: Colors.redAccent,

),

),

),

],

),

),

Expanded( // Row ekranda görünmesi ve yayılması için Expanded içine aldık

child:

Row( // Column içindeki 1. sağ satır

children: [

Expanded(

child: FlatButton(

padding: EdgeInsets.all(10), //Hücreler arası boşluk vermek için

onPressed: (){

sesiCal(“clap1.wav”);

},

child: Container(

color: Colors.grey,

),

),

),

Expanded(

child: FlatButton(

padding: EdgeInsets.all(10),

onPressed: (){

oynatici.play(“woo.wav”);

},

child: Container(

color: Colors.white,

),

),

),

],

),

),

Expanded( // Row ekranda görünmesi ve yayılması için Expanded içine aldık

child:

Row(

children: [

Expanded(

child: FlatButton(

padding: EdgeInsets.all(10),

onPressed: (){

oynatici.play(“woo.wav”);

},

child: Container(

color: Colors.cyan,

),

),

),

Expanded(

child: FlatButton(

padding: EdgeInsets.all(10),

onPressed: (){

oynatici.play(“woo.wav”);

},

child: Container(

color: Colors.brown,

),

),

),

],

),

),

Expanded( // Row ekranda görünmesi ve yayılması için Expanded içine aldık

child:

Row(

children: [

Expanded(

child: FlatButton(

padding: EdgeInsets.all(10),

onPressed: (){

oynatici.play(“woo.wav”);

},

child: Container(

color: Colors.pink,

),

),

),

Expanded(

child: FlatButton(

padding: EdgeInsets.all(10),

onPressed: (){

oynatici.play(“woo.wav”);

},

child: Container(

color: Colors.green,

),

),

),

],

),

),

],

),

),

);

}

}

Musa BAL
Musa BAL

No responses yet