{"id":561,"date":"2023-02-18T18:24:16","date_gmt":"2023-02-18T10:24:16","guid":{"rendered":"http:\/\/gjweb.top\/?p=561"},"modified":"2023-02-18T18:24:16","modified_gmt":"2023-02-18T10:24:16","slug":"04-%e5%b8%83%e5%b1%80%e7%bb%84%e4%bb%b6%e8%af%a6%e8%a7%a3","status":"publish","type":"post","link":"https:\/\/gjweb.top\/?p=561","title":{"rendered":"04. \u5e03\u5c40\u7ec4\u4ef6\u8be6\u89e3"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"listview-\u5217\u8868\u7ec4\u4ef6\">ListView \u5217\u8868\u7ec4\u4ef6<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u540d\u79f0<\/th><th>\u4f5c\u7528<\/th><th>\u7c7b\u578b<\/th><\/tr><\/thead><tbody><tr><td>scrollDirection<\/td><td>Axis.horizntal \u6c34\u5e73\u5217\u8868 Axis.vertical \u5782\u76f4\u5217\u8868<\/td><td>Axis<\/td><\/tr><tr><td>padding<\/td><td>\u5185\u8fb9\u8ddd<\/td><td>EdgeInsetsGeometry<\/td><\/tr><tr><td>resolve<\/td><td>\u53cd\u5411\u6392\u5e8f<\/td><td>bool<\/td><\/tr><tr><td>children<\/td><td>\u5b50\u96c6<\/td><td>List<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>ListView(<br> &nbsp; &nbsp;scrollDirection:Axis.horizntal\uff0c<br>    children:&#91;<br> &nbsp; &nbsp; &nbsp; &nbsp;ListTile(text: const Text(\"hello flutter\")),<br> &nbsp; &nbsp; &nbsp; &nbsp;ListTile(text: const Text(\"hello flutter\")),<br> &nbsp; &nbsp; &nbsp; &nbsp;ListTile(text: const Text(\"hello flutter\")),<br> &nbsp; &nbsp; &nbsp; &nbsp;ListTile(text: const Text(\"hello flutter\")),<br> &nbsp; &nbsp; &nbsp; &nbsp;ListTile(text: const Text(\"hello flutter\")),<br> &nbsp;  ]<br>)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"\u52a8\u6001\u6e32\u67d3\u5217\u8868\">\u52a8\u6001\u6e32\u67d3\u5217\u8868<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>List list = &#91;\"hello flutter\",\"hello dart\"]<br>ListView.builder(<br>    itemCount:list.length,<br> &nbsp; &nbsp;itenBuilder:(context,index){<br> &nbsp; &nbsp; &nbsp; &nbsp;return ListTile(title:Text(\"${list&#91;index]}\"))<br> &nbsp;  }<br>)<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"gridview-\u7f51\u683c\u5e03\u5c40\u7ec4\u4ef6\">GridView \u7f51\u683c\u5e03\u5c40\u7ec4\u4ef6<\/h2>\n\n\n\n<p>\u5feb\u901f\u5b9e\u73b0 <strong>\u5bab\u683c\u5f0f<\/strong> \u5e03\u5c40<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u540d\u79f0<\/th><th>\u8bf4\u660e<\/th><th>\u7c7b\u578b<\/th><\/tr><\/thead><tbody><tr><td>scrollDirection<\/td><td>\u6eda\u52a8\u65b9\u5f0f<\/td><td>Axis<\/td><\/tr><tr><td>padding<\/td><td>\u5185\u8fb9\u8ddd<\/td><td>EdgeInsetsGeometry<\/td><\/tr><tr><td>resolve<\/td><td>\u6570\u7ec4\u7ffb\u8f6c<\/td><td>bool<\/td><\/tr><tr><td>crossAxisSpacing<\/td><td>\u6c34\u5e73\u95f4\u8ddd<\/td><td>double<\/td><\/tr><tr><td>mainAxisSpacing<\/td><td>\u5782\u76f4\u95f4\u8ddd<\/td><td>double<\/td><\/tr><tr><td>maxCrossAxisExtent<\/td><td>\u6a2a\u8f74\u7684\u6700\u5927\u957f\u5ea6<\/td><td>\u7528\u5728GridView.extent<\/td><\/tr><tr><td>childAspectRatio<\/td><td>\u5bbd\u9ad8\u6bd4<\/td><td>double<\/td><\/tr><tr><td>children<\/td><td>\u5b50\u96c6<\/td><td>List<\/td><\/tr><tr><td>shrinkWrap<\/td><td>\u5b8c\u5168\u652f\u914d\u5b50\u5143\u7d20\u9ad8\u5ea6<\/td><td>bool<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"gridview-count\">GridView.count<\/h3>\n\n\n\n<p>\u6a2a\u8f74\u56fa\u5b9a\u6570\u91cf\u7684\u5e03\u5c40<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GridView.count(<br>    crossAxisCount:3,<br> &nbsp;  children:&#91;<br> &nbsp; &nbsp; &nbsp; &nbsp;Icon(Icons.add),<br> &nbsp; &nbsp; &nbsp; &nbsp;Icon(Icons.add),<br> &nbsp; &nbsp; &nbsp; &nbsp;Icon(Icons.add),<br> &nbsp; &nbsp; &nbsp; &nbsp;Icon(Icons.add),<br> &nbsp; &nbsp; &nbsp; &nbsp;Icon(Icons.add),<br> &nbsp;  ]<br>)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"gridview-extent\">GridView.extent<\/h3>\n\n\n\n<p>\u6a2a\u8f74\u7684\u6700\u5927\u957f\u5ea6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GridView.extent(<br>    maxCrossAxisExtent:2,<br> &nbsp; &nbsp;children:&#91;<br> &nbsp; &nbsp; &nbsp; &nbsp;Icon(Icons.add),<br> &nbsp; &nbsp; &nbsp; &nbsp;Icon(Icons.add),<br> &nbsp; &nbsp; &nbsp; &nbsp;Icon(Icons.add),<br> &nbsp; &nbsp; &nbsp; &nbsp;Icon(Icons.add),<br> &nbsp; &nbsp; &nbsp; &nbsp;Icon(Icons.add),<br> &nbsp;  ]<br>)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"gridview-builder\">GridView.builder<\/h3>\n\n\n\n<p>\u52a8\u6001\u6e32\u67d3 GridView \u5217\u8868<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>List list = &#91;\"hello flutter\",\"hello dart\"];<br>GridView.builder(<br>    gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(<br> &nbsp;      crossAxisSpacing: 10.0, \/\/\u6c34\u5e73\u5b50 Widget \u4e4b\u95f4\u95f4\u8ddd<br> &nbsp;      mainAxisSpacing: 10.0, \/\/\u5782\u76f4\u5b50 Widget \u4e4b\u95f4\u95f4\u8ddd<br> &nbsp;      crossAxisCount: 2, \/\/\u4e00\u884c\u7684 Widget \u6570\u91cf<br> &nbsp;  ),<br> &nbsp; &nbsp;itemCount:list.length,<br> &nbsp; &nbsp;itemBuilder:(context,index){<br> &nbsp; &nbsp; &nbsp; &nbsp;return Text(\"${list&#91;index]}\")<br> &nbsp;  }<br>)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"padding-\u5185\u8fb9\u8ddd\u7ec4\u4ef6\">padding \u5185\u8fb9\u8ddd\u7ec4\u4ef6<\/h2>\n\n\n\n<p>\u5305\u88f9\u7684\u5b50\u5143\u7d20\u53ef\u4ee5\u5e26\u6709 padding \u7684\u8fb9\u8ddd<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u5c5e\u6027<\/th><th>\u4f5c\u7528<\/th><th>\u7c7b\u578b<\/th><\/tr><\/thead><tbody><tr><td>padding<\/td><td>\u5185\u8fb9\u8ddd ( \u5fc5\u586b )<\/td><td>EdgeInsets.fromLTRB(left, top, right, bottom)<\/td><\/tr><tr><td>child<\/td><td>\u5b50\u7ec4\u4ef6<\/td><td>Widget<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>Padding(<br>    padding:EdgeInsets.fromLTRB(0, 0, 0, 0),<br> &nbsp; &nbsp;child:const Text(\"hello world\")<br>)<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"row-\u548c-column-\u7ebf\u6027\u5e03\u5c40\">Row \u548c Column \u7ebf\u6027\u5e03\u5c40<\/h2>\n\n\n\n<p>\u7c7b\u4f3c\u4e8e css \u7684 flex \u601d\u60f3<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"row-\u6c34\u5e73\u5e03\u5c40\">Row \u6c34\u5e73\u5e03\u5c40<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u5c5e\u6027<\/th><th>\u4f5c\u7528<\/th><th>\u7c7b\u578b<\/th><\/tr><\/thead><tbody><tr><td>mainAxisAlignment<\/td><td>\u4e3b\u8f74\u5bf9\u9f50\u65b9\u5f0f<\/td><td>MainAxisAlignment<\/td><\/tr><tr><td>crossAxisAlignment<\/td><td>\u6b21\u8f74\u7684\u5bf9\u9f50\u65b9\u5f0f<\/td><td>CrossAxisAlignment<\/td><\/tr><tr><td>children<\/td><td>\u5b50\u7ec4\u4ef6\u96c6\u5408<\/td><td>[&lt;widget&gt;]<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>Row(<br>    mainAxisAlignment: MainAxisAlignment.center,<br> &nbsp; &nbsp;crossAxisAlignment: CrossAxisAlignment.center,<br> &nbsp; &nbsp;chldren:&#91;]<br>)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"column-\u6c34\u5e73\u5e03\u5c40\">Column \u6c34\u5e73\u5e03\u5c40<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u5c5e\u6027<\/th><th>\u4f5c\u7528<\/th><th>\u7c7b\u578b<\/th><\/tr><\/thead><tbody><tr><td>mainAxisAlignment<\/td><td>\u4e3b\u8f74\u5bf9\u9f50\u65b9\u5f0f<\/td><td>MainAxisAlignment<\/td><\/tr><tr><td>crossAxisAlignment<\/td><td>\u6b21\u8f74\u7684\u5bf9\u9f50\u65b9\u5f0f<\/td><td>CrossAxisAlignment<\/td><\/tr><tr><td>children<\/td><td>\u5b50\u7ec4\u4ef6\u96c6\u5408<\/td><td>[&lt;widget&gt;]<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>Column(<br>    mainAxisAlignment: MainAxisAlignment.center,<br> &nbsp; &nbsp;crossAxisAlignment: CrossAxisAlignment.center,<br> &nbsp; &nbsp;chldren:&#91;]<br>)<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"flex-\u5e03\u5c40\">Flex \u5e03\u5c40<\/h2>\n\n\n\n<p>\u601d\u60f3\u5b8c\u5168\u548c css \u4e2d\u7684 Flex \u76f8\u540c, \u53ea\u4e0d\u8fc7\u5728 Flutter \u4e2d\u5927\u90e8\u5206\u4f7f\u7528 Row \u548c Column \u642d\u914d Expanded \u5b9e\u73b0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"\u6c34\u5e73\u5e03\u5c40\">\u6c34\u5e73\u5e03\u5c40<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Flex(<br>\tdirection:Axis.horizontal,<br>    children:&#91;]<br>)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"\u5782\u76f4\u5e03\u5c40\">\u5782\u76f4\u5e03\u5c40<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Flex(<br>\tdirection:Axis.vertical,<br>    children:&#91;]<br>)<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"expanded-\u5bb9\u5668\u5206\u914d\u7ec4\u4ef6\">Expanded \u5bb9\u5668\u5206\u914d\u7ec4\u4ef6<\/h2>\n\n\n\n<p>\u4e3b\u8981\u7528\u4e8e\u5bb9\u5668\u5185\u90e8\u7684\u586b\u5145\u5206\u914d, \u7ec4\u4ef6\u5185\u90e8\u53ef\u4ee5\u7528 flex \u5c5e\u6027, <strong>flex \u7684\u7528\u6cd5\u548c\u601d\u60f3\u540c css \u7684 Flex \u7684 flex \u5c5e\u6027 <\/strong>, \u53ef\u4ee5\u5728 row \\ column \u548c flex \u7ec4\u4ef6\u4e2d\u4f7f\u7528.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Row(<br>\tchildren:&#91;<br>        Expanded(<br>        \tflex:1,<br>            child:&lt;widget&gt;<br>        )<br>    ]<br>)<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u5b9a\u4f4d\u5e03\u5c40-stack\">\u5b9a\u4f4d\u5e03\u5c40 Stack<\/h2>\n\n\n\n<p>stack \u7c7b\u4f3c\u4e8e css \u4e2d\u7684\u7c98\u6027\u5b9a\u4f4d, \u53ef\u4ee5\u642d\u914d Align \u548c positiond \u6765\u5b9e\u73b0\u9875\u9762\u7684\u5b9a\u4f4d<\/p>\n\n\n\n<p>stack \u4f1a\u586b\u5145\u4e0a\u7ea7\u5143\u7d20\u7684\u5bbd\u9ad8, \u5982\u679c\u4e3a\u5168\u5c40\u5219\u5168\u5c4f\u586b\u5145<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u5c5e\u6027<\/th><th>\u4f5c\u7528<\/th><th>\u7c7b\u522b<\/th><\/tr><\/thead><tbody><tr><td>aligment<\/td><td>\u663e\u793a\u4f4d\u7f6e<\/td><td>Alignment<\/td><\/tr><tr><td>children<\/td><td>\u5b50\u7c7b\u7684\u96c6\u5408<\/td><td>[&lt;widget&gt;]<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>Stack(<br>    alignment: Alignment.center,<br>    children:&#91;]<br>)<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"align-\u5bf9\u9f50\u7ec4\u4ef6\">Align \u5bf9\u9f50\u7ec4\u4ef6<\/h2>\n\n\n\n<p>\u5728\u5176\u5143\u7d20\u7684\u6240\u6709\u5b50\u5143\u7d20\u90fd\u4f1a\u7ee7\u627fAlign\u7684\u5c5e\u6027<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u5c5e\u6027<\/th><th>\u4f5c\u7528<\/th><th>\u7c7b\u578b<\/th><\/tr><\/thead><tbody><tr><td>alignment<\/td><td>\u663e\u793a\u4f4d\u7f6e<\/td><td>Alignment<\/td><\/tr><tr><td>child<\/td><td>\u5b50\u7ec4\u4ef6<\/td><td>&lt;widget&gt;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>Align(<br>\talignment: Alignment.center,<br>    child:&lt;widget&gt;<br>)<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aspectratio-\u5bbd\u9ad8\u6bd4\">AspectRatio \u5bbd\u9ad8\u6bd4<\/h2>\n\n\n\n<p>\u4f1a\u8c03\u6574\u5b50\u5143\u7d20\u7684\u5bbd\u9ad8\u6bd4<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u5c5e\u6027<\/th><th>\u4f5c\u7528<\/th><th>\u7c7b\u578b<\/th><\/tr><\/thead><tbody><tr><td>aspectRatio<\/td><td>\u5bbd\u9ad8\u6bd4<\/td><td>int \/ int<\/td><\/tr><tr><td>child<\/td><td>\u81ea\u7ec4\u4ef6<\/td><td>&lt;widget&gt;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>AspectRatio(<br>\taspectRatio: 2\/1 ,\/\/ \u8868\u793a\u9ad8\u662f\u5bbd\u7684\u4e00\u534a<br>    child:<br>)<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"card-\u5361\u7247\u7ec4\u4ef6-\u5e26\u9634\u5f71\u7684\u76d2\u5b50\">card \u5361\u7247\u7ec4\u4ef6 \uff08\u5e26\u9634\u5f71\u7684\u76d2\u5b50\uff09<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u5c5e\u6027<\/th><th>\u4f5c\u7528<\/th><th>\u7c7b\u578b<\/th><\/tr><\/thead><tbody><tr><td>margin<\/td><td>\u5916\u8fb9\u8ddd<\/td><td>EdgeInsets.all(int)<\/td><\/tr><tr><td>child<\/td><td>\u5b50\u7ec4\u4ef6<\/td><td>&lt;widget&gt;<\/td><\/tr><tr><td>elevation<\/td><td>\u9634\u5f71\u7684\u6df1\u5ea6<\/td><td><\/td><\/tr><tr><td>color<\/td><td>\u80cc\u666f\u989c\u8272<\/td><td><\/td><\/tr><tr><td>shadowColor<\/td><td>\u9634\u5f71\u989c\u8272<\/td><td><\/td><\/tr><tr><td>clipBehavior<\/td><td>\u5185\u5bb9\u6ea2\u51fa\u88c1\u526a<\/td><td><\/td><\/tr><tr><td>shape<\/td><td>\u9634\u5f71\u6548\u679c\u7684\u6837\u5f0f<\/td><td>RoundedRectangleBorder<\/td><\/tr><tr><td><\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>Card(<br>    margin:EdgeInsets.all(10),<br>    color:Colors.red,<br>\tchild:&lt;widget&gt;<br>)<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n","protected":false},"excerpt":{"rendered":"<p>ListView \u5217\u8868\u7ec4\u4ef6 \u540d\u79f0 \u4f5c\u7528 \u7c7b\u578b scrollDirection Axis.horizntal \u6c34 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[],"class_list":["post-561","post","type-post","status-publish","format-standard","hentry","category-flutter"],"_links":{"self":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/posts\/561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=561"}],"version-history":[{"count":1,"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/posts\/561\/revisions"}],"predecessor-version":[{"id":562,"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/posts\/561\/revisions\/562"}],"wp:attachment":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=561"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=561"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}