From d90311f123750de0d3ca4e25e1ee5833cdf0fe49 Mon Sep 17 00:00:00 2001 From: ddubii Date: Sat, 25 Feb 2023 01:26:39 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[Feat]=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=ED=81=B4=EB=A6=AD=20=EC=8B=9C=20=EA=B0=9C=EB=B3=84=20=EB=A9=94?= =?UTF-8?q?=EB=89=B4=EB=A1=9C=20=EC=9D=B4=EB=8F=99=20#11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/screens/camera/result_screen.dart | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/screens/camera/result_screen.dart b/lib/screens/camera/result_screen.dart index df6cc99..77ec6d7 100644 --- a/lib/screens/camera/result_screen.dart +++ b/lib/screens/camera/result_screen.dart @@ -3,6 +3,7 @@ import 'package:i_can_read/configs/color.dart'; import 'package:i_can_read/configs/curve_painter.dart'; import 'package:i_can_read/models/menu.dart'; import 'package:i_can_read/models/menu_repository.dart'; +import 'package:i_can_read/screens/camera/detailed_result_true.dart'; class ResultScreen extends StatelessWidget { ResultScreen({super.key}); @@ -51,6 +52,12 @@ class MenuTile extends StatelessWidget { child: ListTile( title: Text(menu.name, style: const TextStyle(fontSize: 28)), subtitle: Text(menu.description, style: const TextStyle(fontSize: 20)), + onTap: () { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => DetailResultTrue()), + ); + }, leading: AspectRatio( aspectRatio: 1, child: Image.network(menu.image, width: 100, fit: BoxFit.cover) From 6747342676e65e51ed0d4b90a92cd85a6c308fd6 Mon Sep 17 00:00:00 2001 From: ddubii Date: Sat, 25 Feb 2023 01:27:03 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[Feat]=20=EA=B0=9C=EB=B3=84=20=EB=A9=94?= =?UTF-8?q?=EB=89=B4=20UI=20#11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/screens/camera/detailed_result_true.dart | 93 ++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 lib/screens/camera/detailed_result_true.dart diff --git a/lib/screens/camera/detailed_result_true.dart b/lib/screens/camera/detailed_result_true.dart new file mode 100644 index 0000000..cef7fbb --- /dev/null +++ b/lib/screens/camera/detailed_result_true.dart @@ -0,0 +1,93 @@ +import 'package:flutter/material.dart'; +import 'package:url_launcher/url_launcher.dart'; + +class DetailResultTrue extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + body: Container( + alignment: Alignment.topCenter, + decoration: const BoxDecoration( + image: DecorationImage( + image: AssetImage('assets/images/background.png'), + fit:BoxFit.fitWidth, + alignment: Alignment.topCenter + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const SizedBox(height: 30), + const Text('결과 확인', + style: TextStyle( + fontSize: 30, + fontWeight:FontWeight.bold , + color: Colors.black, + ), + ), + const SizedBox(height: 20), + SizedBox(width: 300,height: 500, + child: + Card( + shape: RoundedRectangleBorder( //모서리를 둥글게 하기 위해 사용 + borderRadius: BorderRadius.circular(16.0), + ), + elevation: 4.0, // 그림자 깊이 + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text('아메리카노', + style: TextStyle( + fontSize: 40, + color: Colors.black, + ),), + const SizedBox(height: 15), + const Icon( + Icons.coffee, + color: Colors.brown, + size: 200,), + const SizedBox(height: 15), + const Text('에스프레소에 뜨거운 물을 더한 음료', + style: TextStyle( + fontSize: 20, + color: Colors.black, + ),), + SizedBox(height: 20), + TextButton( + onPressed: (){ + launch("https://dev-yakuza.posstree.com/ko/flutter/url_launcher/"); + }, + child: + const Text('검색 결과 더보기', + style: TextStyle( + fontSize: 20, + color: Colors.blue, + decoration: TextDecoration.underline)), + ) + ], + ) + ), + + ), + + const SizedBox(height: 30), + ElevatedButton( + onPressed: (){Navigator.pop(context);}, + style: ElevatedButton.styleFrom( + primary: Color(0xFFFFD700), + onPrimary: Colors.black, + minimumSize: Size(300, 40), + padding: const EdgeInsets.symmetric(horizontal: 40, vertical: 20), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(20), + ), + ), + child: Text('목록으로', style: TextStyle(fontSize: 30)), + ), + const SizedBox(height: 10), + ], + ), + ), + ); + } +} \ No newline at end of file From 292ce08be8472ce2060305670a8b45704010ed30 Mon Sep 17 00:00:00 2001 From: ddubii Date: Sat, 25 Feb 2023 02:56:25 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[Feat]=20=EA=B2=80=EC=83=89=EA=B2=B0?= =?UTF-8?q?=EA=B3=BC=20=EB=8D=94=EB=B3=B4=EA=B8=B0=20Url=20=EC=97=B0?= =?UTF-8?q?=EA=B2=B0=20#11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/screens/camera/detailed_result_true.dart | 38 +++++++++++--------- lib/screens/recommend/recommend_result.dart | 2 +- lib/screens/recommend/recommend_screen.dart | 3 +- pubspec.yaml | 2 +- 4 files changed, 25 insertions(+), 20 deletions(-) diff --git a/lib/screens/camera/detailed_result_true.dart b/lib/screens/camera/detailed_result_true.dart index cef7fbb..670ced0 100644 --- a/lib/screens/camera/detailed_result_true.dart +++ b/lib/screens/camera/detailed_result_true.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:url_launcher/url_launcher.dart'; +final Uri _url = Uri.parse('https://www.google.com/search?q=%EC%95%84%EB%A9%94%EB%A6%AC%EC%B9%B4%EB%85%B8'); class DetailResultTrue extends StatelessWidget { @override @@ -46,24 +47,21 @@ class DetailResultTrue extends StatelessWidget { Icons.coffee, color: Colors.brown, size: 200,), - const SizedBox(height: 15), - const Text('에스프레소에 뜨거운 물을 더한 음료', - style: TextStyle( - fontSize: 20, - color: Colors.black, - ),), - SizedBox(height: 20), + const Padding(padding: EdgeInsets.symmetric(horizontal: 50.0,vertical: 20.0), + child: Text('에스프레소에 뜨거운 물을 더한 음료', + style: TextStyle( + fontSize: 20, + color: Colors.black), + textAlign: TextAlign.center, + maxLines: 2, + ), + ), TextButton( - onPressed: (){ - launch("https://dev-yakuza.posstree.com/ko/flutter/url_launcher/"); - }, - child: - const Text('검색 결과 더보기', - style: TextStyle( - fontSize: 20, - color: Colors.blue, - decoration: TextDecoration.underline)), - ) + onPressed: _launchUrl, + child: const Text('검색 결과 더보기', + style: TextStyle(color: Colors.blue, + decoration: TextDecoration.underline),), + ), ], ) ), @@ -90,4 +88,10 @@ class DetailResultTrue extends StatelessWidget { ), ); } + + Future _launchUrl() async { + if (!await launchUrl(_url)) { + throw Exception('Could not launch $_url'); + } + } } \ No newline at end of file diff --git a/lib/screens/recommend/recommend_result.dart b/lib/screens/recommend/recommend_result.dart index 2448ef5..7750953 100644 --- a/lib/screens/recommend/recommend_result.dart +++ b/lib/screens/recommend/recommend_result.dart @@ -38,7 +38,7 @@ class RecommendResultScreen extends StatelessWidget { child: Column( mainAxisAlignment: MainAxisAlignment.center, children:const [ - Text('아메리카노', + Text('아메리카노', style: TextStyle( fontSize: 40, color: Colors.black, diff --git a/lib/screens/recommend/recommend_screen.dart b/lib/screens/recommend/recommend_screen.dart index 5b4d965..9c138b6 100644 --- a/lib/screens/recommend/recommend_screen.dart +++ b/lib/screens/recommend/recommend_screen.dart @@ -62,12 +62,13 @@ class RecommendScreen extends StatelessWidget { primary: Color(0xFFC6ECCD), onPrimary: Colors.black, minimumSize: const Size(300, 200), + maximumSize: const Size(300, 200), padding: const EdgeInsets.symmetric(horizontal: 40, vertical: 20), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(20), ), ), - child: Text('카페인 미포함', style: TextStyle(fontSize: 40)), + child: Text('카페인\n미포함', style: TextStyle(fontSize: 40)), ), const SizedBox(height: 10), Row( diff --git a/pubspec.yaml b/pubspec.yaml index 9605749..fce0b83 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -38,7 +38,7 @@ dependencies: cupertino_icons: ^1.0.2 camera: ^0.10.2+1 path_provider: ^2.0.12 - url_launcher: ^6.0.18 + url_launcher: ^6.1.10 dev_dependencies: flutter_test: