Merhabalar, Flutter’da yeniyim. Daha önceden StatelessWidget’ı StatefulWidget’a çevirirken bir hata almıyordum. Lakin bu uygulamada hata alıyorum. Butona tıklayınca fonksiyon çalışmıyor fakat ctrl+s ile kaydedince uygulama butonun random olarak attığı değeri yazdırıyor. Anlık olarak yansımıyor. Nerede hata yaptığım hakkında bilgi verebilir misiniz?
Main.dart:
import 'package:flutter/material.dart';
import 'package:ikinci_projem/assets/screens/falici_uygulamasi.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Material App',
home: FalciUygulamasi(),
);
}
}
falici_uygulamasi.dart:
`import ‘dart:math’;
import ‘package:flutter/material.dart’;
class FalciUygulamasi extends StatefulWidget {
const FalciUygulamasi({super.key});
@override
State<FalciUygulamasi> createState() => _FalciUygulamasiState();
}
class _FalciUygulamasiState extends State<FalciUygulamasi> {
@override
Widget build(BuildContext context) {
List<String> yanitlar = [
‘TIKLA FALIN GELSİN’,
‘AŞK: Bugün, aşk ve ilişki hayatınızda biraz daha temkinli olmalısın. Onu her konuda doğru anlamda anladığından da emin misin?’,
‘AŞK: Aşk ve ilişki hayatınızda hakimiyeti eline almak ve birlikteliğinizi dilediğiniz gibi yönlendirmek isteyebilirsin. Bu isteğinin denge içerisindeki bir ilişkiye ne şekilde fayda edeceğini gözden geçirmelisin.’,
‘AŞK: Duygularınızın bugün biraz düzensiz olduğunu görebilirsiniz. Güne, daha önce hiç yapmadığınız bir şekilde başlamanızı sağlayan doğal bir elektrik hissi var. Kalbiniz her zaman doğruyu söyler.’,
‘AŞK: Duygularınız çoğu zaman rasyonel düşüncelerinize galip geliyor ve sonunda derinlerde duyguların beslediği bir karmaşa ortaya çıkıyor. Çok da mantıklı düşünerek kalbinizi görmezden gelmeyin. Amacınız bu ikisi arasında dengeyi bulmak.’,
‘AŞK: Duygusal olarak kötü hissetmeyin, sezgileriniz güçlü durumda. Sevgilinizin hislerini bu sezgiler ile anlamaya çalışın. Bazen sadece eğlenmek gerekir, siz de rahatlayın ve birlikte eğlenin!’,
‘PARA: Kafanıza uzun süredir koyduğunuz bazı harcamalar var, bugün kendinize bunlara gerçekten ne kadar ihtiyacınız olduğunu sorun ve bir kısmını iptal edin. Bugün bir hayır kurumuna küçücük bir bağış yapın, kendinizi çok daha iyi hissedeceksiniz.’,
‘PARA: Nakit akışınızın dengesini bozabilecek dönemlere giriyoruz, bu aralar kesinlikle masa başına oturup bir bütçe hesabı yapmalısınız, önümüzdeki 3 ay boyunca gelir gider dengenizden emin olmadan hareket etmeyin’,
‘PARA: Bugün, başkalarına yardım, destek ve hizmet duygunuzun yüksek olduğu bir gün olabilir, hayır, bağış işlerinde yer alabilirsiniz.’,
‘PARA: Bugün kendinize güveniniz oldukça yüksek, ancak bu size pek fayda getirmeyebilir, bağlantılarınız size verdikleri destekten şüphelenebilirler. Sakin hareket edin, bir adım geri durun, ve paradan çok sağlığınızla ilgilenin.’,
‘PARA: Para kaynaklarımız ile ilgili detaylar bu dönem dikkat etmelisiniz. Ayrıca maddi konularda ve harcamalarda uzun süredir sizi meşgul eden bir konuda karara varabilirsiniz, yakınlarınızdan veya eşinizden karar alırken yardım isteyin.’,
‘TAVSİYE: Bugün meraklı kişiliğini ön plana çıkartarak insanlara soru sormaktan çekinme ’,
‘TAVSİYE: Bugün daha önce hiç fark etmediğin şeylerin hep orada olduğunu fark edebilirsin, sadece biraz daha dikkatli olmaya çalış’,
‘TAVSİYE: Bugün ikili ilişkilerinde daha aktif ve verici olmaya çalışabilirsin, aynı fikirde olduğun insanları daha dikkatli dinlemeye ve sorgulamaya başla’,
‘TAVSİYE: Bugün sadece işine odaklan, dikkatini dağıtacak her türlü nesne ve sosyal medyadan uzaklaşmak kendini daha mutlu hissettirebilir’,
‘TAVSİYE: Bugün tek başına biraz yürüyüş yap, çocukluğunda dinlediğin şarkıları aç ve o zamanlar oynadığın oyunları hayal et’
];
String icerik = yanitlar[0];
return Scaffold(
backgroundColor: Colors.deepPurple[300],
appBar: AppBar(
title: const Text(
"Günün Falı",
style: TextStyle(color: Colors.white),
),
centerTitle: true,
backgroundColor: Colors.deepPurple[400],
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(
"lib/assets/Images/FalciUygulamasi/falci.png",
width: 200,
),
boslukBirak(30),
butonOlustur(
() => icerik = yanitlar[Random().nextInt(4) + 1],
Icon(
Icons.favorite,
color: Colors.red,
),
"Selam",
Colors.red),
boslukBirak(10),
butonOlustur(
() => debugPrint("Para Durumu"),
Icon(
Icons.shopping_cart,
color: Colors.green,
),
"Para Durumu",
Colors.green),
boslukBirak(10),
butonOlustur(
() => debugPrint("Günlük Tavsiye"),
Icon(
Icons.explore,
color: Colors.blue,
),
"Günlük Tavsiye",
Colors.blue),
boslukBirak(20),
Text(
icerik,
style: TextStyle(
fontSize: 16,
),
textAlign: TextAlign.end,
),
],
),
),
);
}
ElevatedButton butonOlustur(
var butotnOlayi, Icon icon, String yazi, Color renk) {
return ElevatedButton(
style: ElevatedButton.styleFrom(padding: EdgeInsets.zero),
onPressed: butotnOlayi,
child: Container(
width: 300,
padding: EdgeInsets.all(15),
child: Row(
children: [
icon,
satirArasiBosluk(),
Text(yazi, style: TextStyle(fontSize: 17, color: renk)),
],
),
),
);
}
SizedBox boslukBirak(double boslukDegeri) {
return SizedBox(
height: boslukDegeri,
);
}
SizedBox satirArasiBosluk() {
return SizedBox(width: 20);
}
}
`