statefula geçiş
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
/*
https://balikesirmyo.blogspot.com/
const MyApp({super.key});
MyApp() , MyApp sınıfının yapıcı metodudur.
const Anahtar Kelimesi: MyApp sınıfının oluşturduğu nesnelerin sabit, değişmez (immutable) olmasını sağlar.
Flutter, const yapıları optimize ederek gereksiz yeniden oluşturmalardan kaçınır, performansı artırır.
Eğer const kaldırılırsa, her seferinde yeni bir MyApp nesnesi oluşturulur. Ancak const ile tanımlandığında,
gereksiz nesne oluşturma önlenir.
super.key : super/ebeveyn sınıf (StatelessWidget) ın key özelliğidir, bununla MyApp sınıfının yapıcı metodu çağırır.
key, widget ağaçlarını optimize etmek ve yeniden oluşturulmasını yönetmek için kullanılır.
const MyApp({super.key}) burada {} süslü parantezler içinde olduğu için, bu parametrelerin adlandırılmış parametreler
olduğunu belirtir.
MyApp({}) süslü parantezler named parameter (adlandırılmış parametre) oluşturmak için
, super.key vermeden de çağırılabilmesini sağlar.
*/
void main() {
runApp(benimUygDurum());
}
class benimUygDurum extends StatefulWidget {
const benimUygDurum({super.key});
@override
State<benimUygDurum> createState() => _benimUygDurumState();
}
class _benimUygDurumState extends State<benimUygDurum> {
// StatelessWidget sınıfınız benimUyg içindeki herşeyi buraya taşı
int solZarNo = 1;
int sagZarNo = 2;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.red,
appBar: AppBar(
title: const Text('Başlık'),
backgroundColor: Colors.red,
),
body: Center(
child: Column(
children: <Widget>[
const Text("Merhaba"),
Row(
// satır \\10.14.4.76\gp2025\hafta6\dice_project\lib
children: <Widget>[
Expanded(
flex: 1,
child: Padding(
padding: EdgeInsets.all(10),
child: TextButton(
onPressed: () {
solZarNo = 5;
print('Sol Zara Tıklandı No: $solZarNo');
},
child: Image.asset('images/dice$solZarNo.png')))),
Expanded(
flex: 1,
child: Padding(
padding: EdgeInsets.all(10),
child: TextButton(
onPressed: () {
sagZarNo = 6;
print('Sağ Zara Tıklandı, No:$sagZarNo');
},
child: Image.asset('images/dice$sagZarNo.png')))),
],
),
const Text("Merhaba"),
const Text("Merhaba"),
],
),
),
));
}
}
/*
class benimUyg extends StatelessWidget {
const benimUyg({super.key});
@override
Widget build(BuildContext context) {
//print('Merhaba');
//print(topla());
//print(topla(c: 5, a: 8));
int solZarNo = 1;
int sagZarNo = 2;
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.red,
appBar: AppBar(
title: const Text('Başlık'),
backgroundColor: Colors.red,
),
body: Center(
child: Column(
children: <Widget>[
const Text("Merhaba"),
Row(
// satır \\10.14.4.76\gp2025\hafta6\dice_project\lib
children: <Widget>[
Expanded(
flex: 1,
child: Padding(
padding: EdgeInsets.all(10),
child: TextButton(
onPressed: () {
solZarNo = 5;
print('Sol Zara Tıklandı No: $solZarNo');
},
child: Image.asset('images/dice$solZarNo.png')))),
Expanded(
flex: 1,
child: Padding(
padding: EdgeInsets.all(10),
child: TextButton(
onPressed: () {
sagZarNo = 6;
print('Sağ Zara Tıklandı, No:$sagZarNo');
},
child: Image.asset('images/dice$sagZarNo.png')))),
],
),
const Text("Merhaba"),
const Text("Merhaba"),
],
),
),
));
}
int topla({int? a, int? b, int? c}) {
// ?? null değilse a değerini al, null ise 0 al
return (a ?? 0) + (b ?? 0) + (c ?? 0);
}
}
*/
Yorumlar
Yorum Gönder