Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.33 KB | None | 0 0
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter/services.dart';
  3. import 'package:intl/intl.dart';
  4.  
  5. void main() => runApp(MyApp());
  6.  
  7. class MyApp extends StatelessWidget {
  8. @override
  9. Widget build(BuildContext context) {
  10. SystemChrome.setPreferredOrientations([
  11. DeviceOrientation.portraitUp,
  12. DeviceOrientation.portraitDown,
  13. ]);
  14. return MaterialApp(
  15. debugShowCheckedModeBanner: false,
  16. theme: new ThemeData(
  17. brightness: Brightness.dark,
  18. primaryColorBrightness: Brightness.dark,
  19. ),
  20. home: MyHomePage(),
  21. );
  22. }
  23. }
  24.  
  25. class MyHomePage extends StatefulWidget {
  26. @override
  27. _MyHomePageState createState() => _MyHomePageState();
  28. }
  29.  
  30. class _MyHomePageState extends State<MyHomePage> {
  31.  
  32. // GETTING ACTUAL DATE
  33. static var _actualDatetimeUnformatted = new DateTime.now();
  34.  
  35. // DATETIME OBJECT TOO, LIKE _actualDatetimeUnformatted BUT WITH A FEW DAYS ADDED TO IT (TO GET THE END OF THE WEEK!)
  36. static var _weekEndDatetimeUnformatted = _actualDatetimeUnformatted.add(
  37. new Duration(days: getWeekday(_actualDatetimeUnformatted))); // RED SCREEN MISTAKE SOMEWHERE HERE IN "getWeekday" method!
  38.  
  39. // GET MONTH, DAY, YEAR (AS END OF WEEK)
  40. static getWeekday(_actualDatetimeUnformatted) {
  41. if (_actualDatetimeUnformatted.weekday == DateTime.monday) {
  42. return 6;
  43. } else if (_actualDatetimeUnformatted.weekday == DateTime.tuesday) {
  44. return 5;
  45. } else if (_actualDatetimeUnformatted.weekday == DateTime.wednesday) {
  46. return 4;
  47. } else if (_actualDatetimeUnformatted.weekday == DateTime.thursday) {
  48. return 3;
  49. } else if (_actualDatetimeUnformatted.weekday == DateTime.friday) {
  50. return 2;
  51. } else if (_actualDatetimeUnformatted.weekday == DateTime.saturday) {
  52. return 1;
  53. } else if (_actualDatetimeUnformatted.weekday == DateTime.sunday) {
  54. return 0;
  55. }
  56. }
  57.  
  58. // GET MONTH, DAY (AS START OF WEEK)
  59. static var formatterWeekdayAll = new DateFormat("MMM d");
  60.  
  61. // GET WEEKDAY
  62. static var formatterDay = new DateFormat("EEEE");
  63.  
  64. // GETTING WEEKDAY FOR SELECTED DAY (above the weekdays)
  65. String _selectedDay = formatterDay.format(_actualDatetimeUnformatted);
  66.  
  67. // RETURNING WEEKDAY FOR APP TEXT AS WELL AS END OF WEEK CALCULATED FROM THE DAY OF _WEEKDAY (above the current day (_selectedDay))
  68. String _Weekday = formatterWeekdayAll.format(_actualDatetimeUnformatted); //WORKS
  69. String _WeekdayEnd = formatterWeekdayAll.format(_weekEndDatetimeUnformatted);
  70.  
  71. String text = "Some Note...";
  72.  
  73. @override
  74. Widget build(BuildContext context) {
  75. return Scaffold(
  76. backgroundColor: Colors.black,
  77. body: ListView(
  78. children: <Widget>[
  79. Stack(
  80. children: <Widget>[
  81. Container(
  82. height: 380.0,
  83. ),
  84. ShaderMask(
  85. shaderCallback: (rect) {
  86. return LinearGradient(
  87. begin: Alignment.topCenter,
  88. end: Alignment.bottomCenter,
  89. colors: [Colors.black, Colors.transparent])
  90. .createShader(
  91. Rect.fromLTRB(0, 0, rect.width, rect.height));
  92. },
  93. blendMode: BlendMode.dstIn,
  94. child: Image.asset('assets/milchstraße.jpg',
  95. height: 300.0, fit: BoxFit.cover)),
  96. RotatedBox(
  97. quarterTurns: 0,
  98. child: Text('Weekly Planner',
  99. style: TextStyle(
  100. fontSize: 55,
  101. fontWeight: FontWeight.bold,
  102. color: Colors.white.withOpacity(0.35),
  103. letterSpacing: 10.0)),
  104. ),
  105. Positioned(
  106. top: 4.0,
  107. right: 4.0,
  108. child: Container(
  109. height: 40.0,
  110. width: 40.0,
  111. decoration: BoxDecoration(
  112. borderRadius: BorderRadius.circular(20.0),
  113. color: Colors.white),
  114. child: Center(
  115. child: Icon(Icons.menu),
  116. ),
  117. ),
  118. ),
  119. Positioned(
  120. top: 2.0,
  121. right: 5.0,
  122. child: Container(
  123. height: 12.0,
  124. width: 12.0,
  125. decoration: BoxDecoration(
  126. borderRadius: BorderRadius.circular(6.0),
  127. color: Color(0xFFFD3664)),
  128. ),
  129. ),
  130. Positioned(
  131. top: 170.0,
  132. left: 10.0,
  133. child: Column(
  134. children: <Widget>[
  135. Text("It's week:",
  136. style: TextStyle(
  137. fontFamily: 'Oswald-Light',
  138. fontSize: 25.0,
  139. fontWeight: FontWeight.w500,
  140. color: Colors.white))
  141. ],
  142. )),
  143. Positioned(
  144. top: 280.0,
  145. left: 120.0,
  146. child: Column(
  147. children: <Widget>[
  148. Text("$_selectedDay",
  149. style: TextStyle(
  150. fontFamily: 'Oswald-Light',
  151. fontSize: 40.0,
  152. fontWeight: FontWeight.w500,
  153. color: Colors.white))
  154. ],
  155. )),
  156. Positioned(
  157. top: 210.0,
  158. left: 10.0,
  159. child: Column(
  160. children: <Widget>[
  161. Row(
  162. children: <Widget>[
  163. Text('From $_Weekday. to $_WeekdayEnd.',
  164. style: TextStyle(
  165. fontFamily: 'Oswald-Light',
  166. fontSize: 35.0,
  167. fontWeight: FontWeight.bold,
  168. color: Color(0xFFFD3664))),
  169. ],
  170. )
  171. ],
  172. )),
  173. ],
  174. ),
  175. Row(mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [
  176. _buildWeekDays('Monday', Icons.calendar_today, text),
  177. _buildWeekDays('Tuesday', Icons.calendar_today, text),
  178. _buildWeekDays('Wednesday', Icons.calendar_today, text),
  179. _buildWeekDays('Thursday', Icons.calendar_today, text),
  180. ]),
  181. Row(mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [
  182. _buildWeekDays('Friday', Icons.calendar_today, text),
  183. _buildWeekDays('Saturday', Icons.calendar_today, text),
  184. _buildWeekDays('Sunday', Icons.calendar_today, text),
  185. ]),
  186. ]));
  187. }
  188.  
  189. Widget _buildWeekDays(String day, iconData, text) {
  190. return InkWell(
  191. splashColor: Colors.transparent,
  192. onTap: () {
  193. _WeekPlanRoute(day, text); // MISTAKE SOMEWHERE IN THIS METHOD!!!
  194. },
  195. child: AnimatedContainer(
  196. curve: Curves.easeIn,
  197. duration: Duration(microseconds: 300),
  198. height: _selectedDay == 'day' ? 100.0 : 100.0,
  199. width: _selectedDay == 'day' ? 100.0 : 75.0,
  200. color: _selectedDay == 'day' ? Color(0xFFFD3566) : Colors.transparent,
  201. child: Column(
  202. mainAxisAlignment: MainAxisAlignment.center,
  203. children: [
  204. Icon(
  205. iconData,
  206. color: _selectedDay == day ? Colors.white : Colors.grey,
  207. size: 40.0,
  208. ),
  209. SizedBox(height: 10.0),
  210. Text(day,
  211. style: TextStyle(
  212. fontFamily: 'Oswald-Light',
  213. color: _selectedDay == day ? Colors.white : Colors.grey,
  214. fontSize: 15.0))
  215. ],
  216. )),
  217. );
  218. }
  219.  
  220. void _WeekPlanRoute(day, text) {
  221. selectMenuOption(day);
  222. Navigator.of(context).push(
  223. MaterialPageRoute<void>(
  224. builder: (BuildContext context) {
  225. return Scaffold(
  226. appBar: AppBar(
  227. title: Text(
  228. '$day',
  229. textAlign: TextAlign.center,
  230. style: TextStyle(
  231. fontFamily: 'Oswald-Light',
  232. color: Color(0xFFFD3566),
  233. fontWeight: FontWeight.bold,
  234. fontSize: 35,
  235. ),
  236. ),
  237. ),
  238. body: new Container(
  239. margin: const EdgeInsets.symmetric(
  240. horizontal: 10.0, vertical: 5.0),
  241. padding: const EdgeInsets.symmetric(
  242. horizontal: 15.0, vertical: 10.0),
  243. decoration: new BoxDecoration(
  244. color: Colors.green.shade200.withOpacity(0.3),
  245. borderRadius: new BorderRadius.circular(5.0),
  246. ),
  247. child: new IntrinsicHeight(
  248. child: new Row(
  249. crossAxisAlignment: CrossAxisAlignment.stretch,
  250. children: <Widget>[
  251. new Container(
  252. margin: const EdgeInsets.only(
  253. top: 4.0, bottom: 4.0, right: 10.0),
  254. child: Text(
  255. text, // DYNAMICALLY FOR USERS!
  256. textAlign: TextAlign.justify,
  257. overflow: TextOverflow.ellipsis,
  258. maxLines: 3,
  259. style: TextStyle(
  260. fontFamily: 'Oswald-Light',
  261. fontSize: 20,
  262. fontWeight: FontWeight.w200,
  263. color: Colors.white,
  264. ),
  265. ),
  266. ),
  267. new Container(
  268. margin: EdgeInsets.symmetric(horizontal: 5.0),
  269. child: InkWell(
  270. child: Icon(
  271. Icons.star_border,
  272. size: 40,
  273. ),
  274. onTap: () {
  275. setToFav(text);
  276. },
  277. onDoubleTap: () {
  278. // DELETE COLOR FROM THE STAR
  279. // DELETE IT FROM ARRAY OF IMPORTANT NOTES!
  280. },
  281. ),
  282. ),
  283. ],
  284. ),
  285. ),
  286. ),
  287. );
  288. }
  289. ),
  290. );
  291. }
  292.  
  293. selectMenuOption(String day) {
  294. setState(() {
  295. _selectedDay = day;
  296. });
  297. }
  298.  
  299. setToFav(String text) {
  300. setState(() {
  301. //final bool favourized = _saved.contains(pair)
  302. });
  303.  
  304. }
  305. }
  306.  
  307. I/flutter (28798): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
  308. I/flutter (28798): The following NoSuchMethodError was thrown building Builder:
  309. I/flutter (28798): The getter 'month' was called on null.
  310. I/flutter (28798): Receiver: null
  311. I/flutter (28798): Tried calling: month
  312. I/flutter (28798): User-created ancestor of the error-causing widget was:
  313. I/flutter (28798): MaterialApp
  314. I/flutter (28798): file:///C:/Users/tim-a/Desktop/AndroidStudioProjects/Flutter/wochenplaner/lib/main.dart:14:12
  315. I/flutter (28798): When the exception was thrown, this was the stack:
  316. I/flutter (28798): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5)
  317. I/flutter (28798): #1 _DateFormatPatternField.formatMonth (package:intl/src/intl/date_format_field.dart:445:41)
  318. I/flutter (28798): #2 _DateFormatPatternField.formatField (package:intl/src/intl/date_format_field.dart:367:16)
  319. I/flutter (28798): #3 _DateFormatPatternField.format (package:intl/src/intl/date_format_field.dart:244:12)
  320. I/flutter (28798): #4 DateFormat.format.<anonymous closure> (package:intl/src/intl/date_format.dart:255:57)
  321. I/flutter (28798): #5 List.forEach (dart:core-patch/growable_array.dart:278:8)
  322. I/flutter (28798): #6 DateFormat.format (package:intl/src/intl/date_format.dart:255:19)
  323. I/flutter (28798): #7 new _MyHomePageState (package:wochenplaner/main.dart:69:44)
  324. I/flutter (28798): #8 MyHomePage.createState (package:wochenplaner/main.dart:27:37)
  325. I/flutter (28798): #9 new StatefulElement (package:flutter/src/widgets/framework.dart:4016:25)
  326. I/flutter (28798): #10 StatefulWidget.createElement (package:flutter/src/widgets/framework.dart:802:38)
  327. I/flutter (28798): #11 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3091:40)
  328. I/flutter (28798): #12 Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
  329. I/flutter (28798): #13 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5119:14)
  330. I/flutter (28798): #14 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
  331. I/flutter (28798): #15 Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
  332. I/flutter (28798): #16 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
  333. I/flutter (28798): #17 Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
  334. I/flutter (28798): #18 StatelessElement.update (package:flutter/src/widgets/framework.dart:4008:5)
  335. I/flutter (28798): #19 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  336. I/flutter (28798): #20 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5126:14)
  337. I/flutter (28798): #21 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  338. I/flutter (28798): #22 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5126:14)
  339. I/flutter (28798): #23 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  340. I/flutter (28798): #24 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5126:14)
  341. I/flutter (28798): #25 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  342. I/flutter (28798): #26 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5126:14)
  343. I/flutter (28798): #27 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  344. I/flutter (28798): #28 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
  345. I/flutter (28798): #29 Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
  346. I/flutter (28798): #30 StatefulElement.update (package:flutter/src/widgets/framework.dart:4112:5)
  347. I/flutter (28798): #31 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  348. I/flutter (28798): #32 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
  349. I/flutter (28798): #33 Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
  350. I/flutter (28798): #34 StatelessElement.update (package:flutter/src/widgets/framework.dart:4008:5)
  351. I/flutter (28798): #35 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  352. I/flutter (28798): #36 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
  353. I/flutter (28798): #37 Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
  354. I/flutter (28798): #38 StatefulElement.update (package:flutter/src/widgets/framework.dart:4112:5)
  355. I/flutter (28798): #39 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  356. I/flutter (28798): #40 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5126:14)
  357. I/flutter (28798): #41 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  358. I/flutter (28798): #42 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
  359. I/flutter (28798): #43 Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
  360. I/flutter (28798): #44 ProxyElement.update (package:flutter/src/widgets/framework.dart:4246:5)
  361. I/flutter (28798): #45 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:94:11)
  362. I/flutter (28798): #46 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  363. I/flutter (28798): #47 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5126:14)
  364. I/flutter (28798): #48 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  365. I/flutter (28798): #49 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
  366. I/flutter (28798): #50 Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
  367. I/flutter (28798): #51 StatefulElement.update (package:flutter/src/widgets/framework.dart:4112:5)
  368. I/flutter (28798): #52 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  369. I/flutter (28798): #53 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
  370. I/flutter (28798): #54 Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
  371. I/flutter (28798): #55 StatelessElement.update (package:flutter/src/widgets/framework.dart:4008:5)
  372. I/flutter (28798): #56 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  373. I/flutter (28798): #57 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5126:14)
  374. I/flutter (28798): #58 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  375. I/flutter (28798): #59 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
  376. I/flutter (28798): #60 Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
  377. I/flutter (28798): #61 ProxyElement.update (package:flutter/src/widgets/framework.dart:4246:5)
  378. I/flutter (28798): #62 Element.updateChild (package:flutter/src/widgets/framework.dart:2885:15)
  379. I/flutter (28798): #63 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
  380. I/flutter (28798): #64 Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
  381. I/flutter (28798): #65 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2340:33)
  382. I/flutter (28798): #66 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:701:20)
  383. I/flutter (28798): #67 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:285:5)
  384. I/flutter (28798): #68 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1033:15)
  385. I/flutter (28798): #69 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:975:9)
  386. I/flutter (28798): #70 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:784:7)
  387. I/flutter (28798): #72 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:382:19)
  388. I/flutter (28798): #73 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5)
  389. I/flutter (28798): #74 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
  390. I/flutter (28798): (elided one frame from package dart:async-patch)
  391. I/flutter (28798): ════════════════════════════════════════════════════════════════════════════════════════════════════
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement