{"id":1254,"date":"2021-05-18T01:04:59","date_gmt":"2021-05-17T16:04:59","guid":{"rendered":"http:\/\/blog.box.kr\/?p=1254"},"modified":"2021-05-18T01:07:16","modified_gmt":"2021-05-17T16:07:16","slug":"%ec%95%b1-%ed%99%94%eb%a9%b4-%ed%81%ac%ea%b8%b0-%ec%95%8c%ec%95%84%eb%82%b4%ea%b8%b0app-screen-size","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=1254","title":{"rendered":"\uc571 \ud654\uba74 \ud06c\uae30 \uc54c\uc544\ub0b4\uae30(App Screen Size)"},"content":{"rendered":"\n<p>Js\ucc98\ub7fc.. MediaQuery \ub77c\ub294\uac78 \uc0ac\uc6a9\ud55c\ub2e4. <br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MediaQuery.of(context).size             \/\/\uc571 \ud654\uba74 \ud06c\uae30 size  Ex> Size(360.0, 692.0)\r\nMediaQuery.of(context).size.height      \/\/\uc571 \ud654\uba74 \ub192\uc774 double Ex> 692.0 \r\nMediaQuery.of(context).size.width       \/\/\uc571 \ud654\uba74 \ub113\uc774 double Ex> 360.0\r\nMediaQuery.of(context).devicePixelRatio \/\/\ud654\uba74 \ubc30\uc728    double Ex> 4.0\r\nMediaQuery.of(context).padding.top      \/\/\uc0c1\ub2e8 \uc0c1\ud0dc \ud45c\uc2dc\uc904 \ub192\uc774 double Ex> 24.0<\/code><\/pre>\n\n\n\n<p>\uc704\uc758 \uac12\ub4e4\uc740 \uc2e4\uc81c \ud53d\uc140 \uac12\uc774 \uc544\ub2cc \ub17c\ub9ac\uc801 \ud53d\uc140 \uac12\uc774\ub2e4. \uc5ec\uae30\uc5d0 \ud654\uba74 \ubc30\uc728(devicePixelRatio)\uc744 \uacf1\ud558\uba74 \uc2e4\uc81c \ud53d\uc140 \uac12\uc744 \uc54c \uc218 \uc788\ub2e4.<br><br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import 'dart:ui';\r\n\r\nwindow.physicalSize                    \/\/\uc571 \ud654\uba74 \ud53d\uc140 \ud06c\uae30 size Ex> Size(1440.0, 2768.0)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>import 'package:flutter\/material.dart';\r\nimport 'dart:ui';\r\n\r\nvoid main() {\r\n  runApp(MyApp());\r\n}\r\n\r\nclass MyApp extends StatelessWidget {\r\n  @override\r\n  Widget build(BuildContext context) {\r\n    return MaterialApp(\r\n      title: 'Get Screen Size',\r\n      home: MainPage(),\r\n    );\r\n  }\r\n}\r\n\r\nclass MainPage extends StatefulWidget {\r\n  MainPage({Key key}) : super(key: key);\r\n\r\n  @override\r\n  _MainPageState createState() => _MainPageState();\r\n}\r\n\r\nclass _MainPageState extends State&lt;MainPage> {\r\n  @override\r\n  Widget build(BuildContext context) {\r\n    return Scaffold(\r\n      body: Center(      \r\n      child: Column(        \r\n        mainAxisAlignment: MainAxisAlignment.center,\r\n        crossAxisAlignment: CrossAxisAlignment.start,\r\n        children: &lt;Widget>&#91;\r\n          Text('displaySize : ${MediaQuery.of(context).size}'),\r\n          Text('displayHeight : ${MediaQuery.of(context).size.height}'),\r\n          Text('displayWidth : ${MediaQuery.of(context).size.width}'),\r\n          Text('devicePixelRatio : ${MediaQuery.of(context).devicePixelRatio}'),\r\n          Text('statusBarHeight : ${MediaQuery.of(context).padding.top}'),\r\n          Text('window.physicalSize : ${window.physicalSize}'),          \r\n          ],\r\n        ),\r\n      ),\r\n    );\r\n  }\r\n}<\/code><\/pre>\n\n\n\n<p id=\"SE-1b44a2e8-720a-4ca5-8aea-251a94fd74cf\">\ud654\uba74 \ub808\uc774\uc544\uc6c3\uc744 \uad6c\uc131\ud560 \ub550 \uc704\uc758 &#8220;\ub17c\ub9ac\uc801 \ud53d\uc140 size&#8221;\ub97c \uae30\uc900\uc73c\ub85c \ub9de\ucd94\uac70\ub098 Flex\ub97c \uc774\uc6a9\ud574 \ube44\uc728\ub85c \uad6c\uc131\ud558\uba74 \ub428<\/p>\n\n\n\n<p id=\"SE-944ca137-9c11-46c6-a4c9-bc761a7faafa\">\ub610, \uc774\ubbf8\uc9c0\uc758 \uacbd\uc6b0 \ud654\uba74 \ubc30\uc728\uacfc \uad00\ub828\uc774 \uc788\uae30 \ub54c\ubb38\uc5d0 \uc81c\ub300\ub85c \ub41c \uc774\ubbf8\uc9c0\ub97c \ub123\uc73c\ub824\uba74 \uc544\ub798\uc640 \uac19\uc774 \uac01 \ubc30\uc728\uc5d0 \ub9de\uac8c \uc5ec\ub7ec \ubc8c\uc758 \uc774\ubbf8\uc9c0\ub97c \ucd94\uac00\ud574 \uc918\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>assets\/images\/my_icon.png\r\nassets\/images\/2.0x\/my_icon.png\r\nassets\/images\/3.0x\/my_icon.png\r\nassets\/images\/4.0x\/my_icon.png<\/code><\/pre>\n\n\n\n<p>\ud574\ub2f9\ub418\ub294 \ubc30\uc728\uc774 \uc5c6\uc73c\uba74 \ucd5c\ub300\ud55c \uac00\uae4c\uc6b4 \ubc30\uc728 \uc774\ubbf8\uc9c0\ub97c \uc0ac\uc6a9\ud55c\ub2e4. <br>1.8\ubc30\uc728\uc740 2\ub97c 3.7\uc740 4\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Js\ucc98\ub7fc.. MediaQuery \ub77c\ub294\uac78 \uc0ac\uc6a9\ud55c\ub2e4. \uc704\uc758 \uac12\ub4e4\uc740 \uc2e4\uc81c \ud53d\uc140 \uac12\uc774 \uc544\ub2cc \ub17c\ub9ac\uc801 \ud53d\uc140 \uac12\uc774\ub2e4. \uc5ec\uae30\uc5d0 \ud654\uba74 \ubc30\uc728(devicePixelRatio)\uc744 \uacf1\ud558\uba74 \uc2e4\uc81c \ud53d\uc140 \uac12\uc744 \uc54c \uc218 \uc788\ub2e4. \ud654\uba74 \ub808\uc774\uc544\uc6c3\uc744 \uad6c\uc131\ud560 \ub550 \uc704\uc758 &#8220;\ub17c\ub9ac\uc801 \ud53d\uc140 size&#8221;\ub97c \uae30\uc900\uc73c\ub85c \ub9de\ucd94\uac70\ub098 Flex\ub97c \uc774\uc6a9\ud574 \ube44\uc728\ub85c \uad6c\uc131\ud558\uba74 \ub428 \ub610, \uc774\ubbf8\uc9c0\uc758 \uacbd\uc6b0 \ud654\uba74 \ubc30\uc728\uacfc \uad00\ub828\uc774 \uc788\uae30 \ub54c\ubb38\uc5d0 \uc81c\ub300\ub85c \ub41c \uc774\ubbf8\uc9c0\ub97c \ub123\uc73c\ub824\uba74 \uc544\ub798\uc640 \uac19\uc774 \uac01 \ubc30\uc728\uc5d0 \ub9de\uac8c \uc5ec\ub7ec \ubc8c\uc758 \uc774\ubbf8\uc9c0\ub97c \ucd94\uac00\ud574 \uc918\uc57c \ud55c\ub2e4. \ud574\ub2f9\ub418\ub294 \ubc30\uc728\uc774 \uc5c6\uc73c\uba74 \ucd5c\ub300\ud55c \uac00\uae4c\uc6b4 \ubc30\uc728 \uc774\ubbf8\uc9c0\ub97c \uc0ac\uc6a9\ud55c\ub2e4. 1.8\ubc30\uc728\uc740 2\ub97c 3.7\uc740 4\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"ngg_post_thumbnail":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[41],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-ke","jetpack-related-posts":[{"id":1248,"url":"https:\/\/blog.box.kr\/?p=1248","url_meta":{"origin":1254,"position":0},"title":"\uc571 \uc0c1\ud0dc(AppLifeCycle) \uc774\ubca4\ud2b8 \uc5bb\uae30","date":"2021-05-18","format":false,"excerpt":"https:\/\/flutter.dev\/docs\/get-started\/flutter-for\/android-devs#how-do-i-listen-to-android-activity-lifecycle-events\uc774 plugIn\uc744 \uc0ac\uc6a9\ud55c\ub2e4. import 'package:flutter\/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, visualDensity: VisualDensity.adaptivePlatformDensity, ), home: MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) :\u2026","rel":"","context":"In &quot;flutter&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":572,"url":"https:\/\/blog.box.kr\/?p=572","url_meta":{"origin":1254,"position":1},"title":"\ubaa8\ubc14\uc77c \uc571 \ub514\uc790\uc774\ub108\uac00 \uaf2d \uc54c\uc544\uc57c \ud560 \ubca4\uce58\ub9c8\ud0b9 \uc0ac\uc774\ud2b8 13\uc120","date":"2015-01-27","format":false,"excerpt":"1. http:\/\/www.mobile-patterns.com\/ \uce74\ud14c\uace0\ub9ac(OK) \uc548\ub4dc\ub85c\uc774\ub4dc\/\uc544\uc774\ud3f0 \ud654\uba74 \uc81c\uacf5. \u00a0 2. http:\/\/uxarchive.com\/ \uce74\ud14c\uace0\ub9ac(OK) \uc544\uc774\ud3f0 \uc804\uc6a9. \ubcc4\ub3c4\uc758 \uc571\ub9cc \ub530\ub85c \ubcfc \uc218 \uc788\ub294 \uae30\ub2a5 \uc81c\uacf5. \u00a0 3. http:\/\/pttrns.com\/ \uce74\ud14c\uace0\ub9ac(OK) \uc544\uc774\ud3f0\/\uc544\uc774\ud328\ub4dc\/iOS7 \ubcc4 \ud654\uba74 \uc81c\uacf5. \u00a0 4. http:\/\/www.uiparade.com\/ \uce74\ud14c\uace0\ub9ac(OK) \uc77c\ubd80 \uc18c\uc2a4\uc5d0 \ub530\ub77c \ub2e4\uc6b4\ub85c\ub4dc \uac00\ub2a5. \u00a0 5. http:\/\/inspired-ui.com\/ \uce74\ud14c\uace0\ub9ac(OK) \uc544\uc774\ud3f0\/\uc548\ub4dc\ub85c\uc774\ub4dc\/\uc544\uc774\ud328\ub4dc \ubcc4 \ud654\uba74 \uc81c\uacf5. \u00a0 6. http:\/\/androidniceties.tumblr.com\/ \uce74\ud14c\uace0\ub9ac(NO) \uc548\ub4dc\ub85c\uc774\ub4dc\u2026","rel":"","context":"In &quot;\ucc38\uace0\ub97c \uc704\ud55c \uc800\uc7a5\ubb3c&quot;","img":{"alt_text":"1-RtTjYetf4e7pCHmanjAIaA","src":"https:\/\/i0.wp.com\/ppss.kr\/wp-content\/uploads\/2014\/07\/1-RtTjYetf4e7pCHmanjAIaA1.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":577,"url":"https:\/\/blog.box.kr\/?p=577","url_meta":{"origin":1254,"position":2},"title":"[\ud38c]\uc571 \ub514\uc790\uc778\uc5d0 \uad00\ud55c 3\uac00\uc9c0 \ubc95\uce59","date":"2015-01-28","format":false,"excerpt":"Nicholas Carlson\uc758 Marissa Mayer and the Fight to Save Yahoo! \ucc45\uc758 \uc571 \ub514\uc790\uc778\uc5d0 \uad00\ud55c 3\uac00\uc9c0 \ubc95\uce59\uc744 \uac00\uc9c0\uace0 \uc788\ub2e4. \ud22c \ud130\uce58 \ub8f0 \u2013 \uc0ac\uc6a9\uc790\uac00 \ucc98\uc74c \uc571 \uc548\uc5d0 \ub4e4\uc5b4\uc654\uc744\ub54c, \ub450\ubc88 \ud130\uce58 \uc774\ub0b4\uc5d0 \uc6d0\ud558\ub294 \uae30\ub2a5\uc774\ub098 \ud398\uc774\uc9c0\ub85c \uc774\ub3d9\ud560 \uc218 \uc788\uc5b4\uc57c \ud55c\ub2e4. 5 \ud3ec\uc778\ud2b8 \ub8f0 \u2013 \ud55c \ud398\uc774\uc9c0 \uc548\uc5d0 \ud3f0\ud2b8(\uc11c\uccb4) \uc885\ub958, \ud06c\uae30, \uc0c9\uae54\uc774 \ub2e4\ub978 \uac83\uc774\u2026","rel":"","context":"In &quot;\uae30\uc220\uc790\ub8cc&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":783,"url":"https:\/\/blog.box.kr\/?p=783","url_meta":{"origin":1254,"position":3},"title":"[scrap] \ud154\ub808\uadf8\ub7a8(Telegram)\uc73c\ub85c \uc11c\ubc84 \ubaa8\ub2c8\ud130\ub9c1\ud558\uae30","date":"2015-05-13","format":false,"excerpt":"http:\/\/truefeel.tistory.com\/224 \u00a0 \uba54\uc2e0\uc800 \uac80\uc5f4\ub85c '\ud154\ub808\uadf8\ub7a8(Telegram)' \uad11\ud48d\uc774 \ubd88\uace0 \uc788\ub2e4. \uac1c\uc778\uc801\uc73c\ub85c \uce74\ud1a1\uc744 \uc790\uc8fc \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc544, \ud154\ub808\uadf8\ub7a8\uc774 \uc808\uc2e4(?)\ud558\uac8c \ud544\uc694\ud558\uc9c0 \uc54a\ub2e4. \ud558\uc9c0\ub9cc \ud154\ub808\uadf8\ub7a8\uc744 \uc0ac\uc6a9\ud574\uc57c\ud560 \uc774\uc720\uac00 \uc0dd\uacbc\ub2e4. \ud154\ub808\uadf8\ub7a8\uc774 \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 CLI\ub97c \uc81c\uacf5\ud558\uace0 \uc788\uace0, lua\ub098 python\uc73c\ub85c \uc190\uc27d\uac8c \uba54\uc2e0\uc800\uc640 \uc5f0\ub3d9\ud560 \uc218 \uc788\ub2e4. \uadf8\ub798\uc11c \ud154\ub808\uadf8\ub7a8\uc6a9 lua\uc2a4\ud06c\ub9bd\ud2b8\ub97c \ub9cc\ub4e4\uc5b4\uc11c \uc11c\ubc84 \uc0c1\ud0dc\ub97c \ud3f0\uc5d0\uc11c \ubc1b\uc544\ubcfc \uc218 \uc788\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ud2b9\uc815\u2026","rel":"","context":"In &quot;\uae30\uc220&quot;","img":{"alt_text":"telegram-cli \u00ec\u008b\u00a4\u00ed\u0096\u0089\u00ed\u0099\u0094\u00eb\u00a9\u00b4","src":"http:\/\/cfile27.uf.tistory.com\/image\/261CC43B543DF3EA2ED4D5","width":350,"height":200},"classes":[]},{"id":1257,"url":"https:\/\/blog.box.kr\/?p=1257","url_meta":{"origin":1254,"position":4},"title":"BLE \uc0ac\uc6a9\ud558\uae30","date":"2021-05-18","format":false,"excerpt":"\ub77c\uc774\ube0c\ub7ec\ub9ac \ucd94\uac00 \ubc0f SCAN \uae30\ub2a5 \uad6c\ud604flutter_ble_libhttps:\/\/pub.dev\/packages\/flutter_ble_libpermission_handlerhttps:\/\/pub.dev\/packages\/permission_handler\ud504\ub85c\uc81d\ud2b8\uc5d0 \uc548\ub4dc\ub85c\uc774\ub4dc SDK \ubc84\uc804\uc774 \ub0ae\uac8c \uc124\uc815\ub418\uc5b4 \uc544\ub798\uc640 \uac19\uc740 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud560 \uc218\uc774\ub2e4 ble_example\\android\\app\\src\\debug\\AndroidManifest.xml Error: uses-sdk:minSdkVersion 16 cannot be smaller than version 18 declared in library [:flutter_ble_lib] E:\\study\\flutter\\ble_example\\build\\flutter_ble_lib\\intermediates\\library_manifest\\debug\\AndroidManifest.xml as the library might be using APIs not available in 16 Suggestion: use a compatible library with a minSdk\u2026","rel":"","context":"In &quot;flutter&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.box.kr\/wp-content\/uploads\/2021\/05\/image.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":174,"url":"https:\/\/blog.box.kr\/?p=174","url_meta":{"origin":1254,"position":5},"title":"[VC++] Window\uc758 \ucd08\uae30 \ud06c\uae30\uc640 \uc704\uce58 \uc815\ud574\uc8fc\uae30","date":"2014-07-09","format":false,"excerpt":"Windows \uc6a9 \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8\uc744 \ub9cc\ub4e4 \uacbd\uc6b0\uc5d0, console \ud504\ub85c\uadf8\ub7a8\uc774 \uc544\ub2cc\uacbd\uc6b0\uc5d0\ub294 \uc2e4\ud589\uc2dc\uc5d0 window\uc758 \ucd08\uae30 \uc704\uce58\uc640 \ud06c\uae30\ub97c \uc815\ud574\uc8fc\uace0 \uc2f6\uc740 \uacbd\uc6b0\uac00 \uc788\uc744\uac83\uc774\ub2e4. \ub098\ub294 \uba87\uc77c\uc804\uc5d0 \uc788\uc5c8\ub2e4~ \uc27d\uac8c \ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc744 \uc815\ub9ac\ud558\uace0\uc790 \ud55c\ub2e4. \uc6b0\uc120 \ucf54\ub4dc\ub97c \ub17c\ud558\uae30\uc5d0 \uc55e\uc11c\uc11c \ub0b4\uac00 \uc0ac\uc6a9\ud55c \ubc29\ubc95\uc744 \uac04\ub7b5\ud788 \uc124\uba85\ud558\uc790\uba74, MainFrame class\uc5d0 WM_SHOWWINDOW message\uc5d0 \ub300\ud55c event handler\ub97c \ub9cc\ub4e4\uc5b4\uc8fc\uc5b4 \uadf8 \uc548\uc5d0\uc11c WINDOWPLACEMENT structure\ub97c \uc774\uc6a9\ud588\ub2e4. void\u2026","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/1254"}],"collection":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1254"}],"version-history":[{"count":2,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/1254\/revisions"}],"predecessor-version":[{"id":1256,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/1254\/revisions\/1256"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}