
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
Ayrıca projemizde kullanacağımız Image widget için hazırlanmış video için tıklayınız.
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
Bir yanıt bırakın Cevabı iptal et