フラッター模造Jingdongモールプロジェクトの決済ページレイアウト
CheckOut.dart
インポート'パッケージ:フラッター/ material.dart'; インポート'パッケージ:flutter_jdshop /サービス/ ScreenAdapter.dart'; クラスCheckOutPageが延びるStatefulWidget { CheckOutPage({キーキー}):スーパー(キー:キー) _CheckOutPageState createState()=> _CheckOutPageState(); } クラス_CheckOutPageState状態<CheckOutPage> {延び ウィジェット_checkOutItem(){ 戻り行が( 子供<ウィジェット> コンテナ( 幅:ScreenAdapter.width(160)、 子:Image.network( 「https://www.itying.com /images/flutter/list2.jpg」、 フィット:BoxFit.cover)、 )、 拡張( フレックス:1、 子供:コンテナ( パディング:EdgeInsets.fromLTRB(10、10、10、5)、 子供:カラム( mainAxisAlignment:MainAxisAlignment.spaceBetween、 crossAxisAlignment:CrossAxisAlignment.start、 子供:<ウィジェット> [ テキスト( "华为旗舰店Mate9手机" 、MAXLINES:2)、 テキスト( "白色、175"、MAXLINES:1)、 スタック( 子供:<ウィジェット> [ 位置合わせ( アライメント:Alignment.centerLeft、 子供:テキスト( "¥1111"、スタイル:TEXTSTYLE(色: Colors.red))、 )、 アライン( アライメント:Alignment.centerRight、 色: Colors.white、 子供:テキスト( '×2')、 ) ]、 ) ]、 )、 )、 ) ]、 ); } @Override ウィジェットビルド(BuildContextコンテキスト){ リターン足場( アプリケーションバーは:アプリケーションバー( タイトル:テキスト( '结算')、 )、 ボディ:スタック( 子供:<ウィジェット> [ リストビュー( 子供:<ウィジェット> [ コンテナ( 子供:<ウィジェット> [ 子供:列( ListTile( リード:アイコン(Icons.add_location)、 タイトル:センター(子:テキスト( "请添加收货地址"))、 末尾:アイコン(Icons.navigate_next)、 )、 SizedBox(高さ:10) 、 ListTile( リード:アイコン(Icons.add_location)、 タイトル:カラム( crossAxisAlignment:CrossAxisAlignment.start、 子供:<ウィジェット> [ テキスト( '张三13325187796')、 SizedBox(高さ:10)、 テキスト( '北京海淀区') _checkOutItem()、 ]、 )、 末尾:アイコン(Icons.navigate_next)、 )、 SizedBox(高さ:10) ]、 )、 )、 SizedBox(高さ:20)、 コンテナ( 色:Colors.white、 パディング:EdgeInsets.all(ScreenAdapter.width (20))、 子供:カラム( 子供:<ウィジェット> [ _checkOutItem()、 分周器()、 分周器()、 _checkOutItem() ]、 )、 )、 コンテナ( カラー:Colors.white、 パディング:EdgeInsets.all(ScreenAdapter.width(20である))、 子供:カラム( crossAxisAlignment:CrossAxisAlignment.start、 子供<ウィジェット> [ テキスト(「生成物の総量100¥ ')、 分周器()、 テキスト('によってスタンド:¥5 ')、 分周器()、 テキスト('出荷:¥8「) ] ) )、 ) ]、 位置づけ( 底:0、 幅:ScreenAdapter.width(750)、 高さ:ScreenAdapter.height(100)、 子:コンテナ( 幅:ScreenAdapter.width(750)、 高さ:ScreenAdapter.height(100)、 装飾: BoxDecoration( 色:Colors.white、 ボーダー:ボーダー( トップ:BorderSide(幅:1、色:Colors.black26)))、 子供:スタック( 子供:<ウィジェット> [ 位置合わせ( アライメント:Alignment.centerLeft、 子供: テキスト( "总价:140"、スタイル:TEXTSTYLE(色:Colors.red))、 )、 アライン( アライメント:Alignment.centerRight、 子供:RaisedButton( 子: テキスト( "立即下单"、スタイル:TEXTSTYLE (色:Colors.white))、 色:Colors.red、 onPressed:(){} ) ) ] ) ) ) ] )); } }
CheckOut.dart
インポート'パッケージ:フラッター/ material.dart'; インポート'パッケージ:flutter_jdshop /サービス/ ScreenAdapter.dart'; クラスCheckOutPageが延びるStatefulWidget { CheckOutPage({キーキー}):スーパー(キー:キー) _CheckOutPageState createState()=> _CheckOutPageState(); } クラス_CheckOutPageState状態<CheckOutPage> {延び ウィジェット_checkOutItem(){ 戻り行が( 子供<ウィジェット> コンテナ( 幅:ScreenAdapter.width(160)、 子:Image.network( 「https://www.itying.com /images/flutter/list2.jpg」、 フィット:BoxFit.cover)、 )、 拡張( フレックス:1、 子供:コンテナ( パディング:EdgeInsets.fromLTRB(10、10、10、5)、 子供:カラム( mainAxisAlignment:MainAxisAlignment.spaceBetween、 crossAxisAlignment:CrossAxisAlignment.start、 子供:<ウィジェット> [ テキスト( "华为旗舰店Mate9手机" 、MAXLINES:2)、 テキスト( "白色、175"、MAXLINES:1)、 スタック( 子供:<ウィジェット> [ 位置合わせ( アライメント:Alignment.centerLeft、 子供:テキスト( "¥1111"、スタイル:TEXTSTYLE(色: Colors.red))、 )、 アライン( アライメント:Alignment.centerRight、 子供:テキスト( '×2')、 ) ]、 ) ]、 )、 )、 ) ]、 ); } @Override ウィジェットビルド(BuildContextコンテキスト){ リターン足場( アプリケーションバー:アプリケーションバー( タイトル:テキスト( '结算')、 )、 本体:スタック( 子供<ウィジェット> [ リストビュー( 子供<ウィジェット> コンテナ( 色: Colors.white、 子供:カラム( 子供:<ウィジェット> [ ListTile( リード:アイコン(Icons.add_location)、 タイトル:センター(子:テキスト( "请添加收货地址"))、 末尾:アイコン(Icons.navigate_next)、 )、 SizedBox(高さ:10)、 ListTile( リード:アイコン(Icons.add_location)、 タイトル:カラム( crossAxisAlignment:CrossAxisAlignment.start、 子供:<ウィジェット> [ テキスト( '张三13325187796')、 SizedBox(高さ:10)、 テキスト( '北京海淀区') ] )、 末尾:アイコン(Icons.navigate_next)、 )、 SizedBox(高さ:10) ]、 )、 )、 SizedBox(高さ:20)、 コンテナ( 色:Colors.white、 パディング:EdgeInsets.all(ScreenAdapter.width(20))、 子供:カラム( 子供:<ウィジェット> [ _checkOutItem()、 分周器()、 _checkOutItem()、 分周器()、 _checkOutItem() ]、 )、 )、 コンテナ( 色:Colors.white、 パディング:EdgeInsets.all(ScreenAdapter.width(20))、 子:カラム( crossAxisAlignment:CrossAxisAlignment .start、 子供:<ウィジェット> [ テキスト( '商品总金额¥100')、 分周器()、 テキスト( '立减:¥5')、 分周器()、 テキスト( '运费:¥8') ]、 )、 ) ]、 )、 位置付け( 下:0、 幅:ScreenAdapter.width(750)、 高さ:ScreenAdapter.height(100)、 子:コンテナ( 幅:ScreenAdapter。幅(750)、 高さ:ScreenAdapter.height(100)、 装飾:BoxDecoration( 色:Colors.white、 ボーダー:ボーダー( トップ:BorderSide(幅:1、色:Colors.black26)))、 子供:スタック( 子供:<ウィジェット> [ 位置合わせ( アライメント:Alignment.centerLeft、 子供: テキスト( "总价:140"、スタイル:TEXTSTYLE(色:Colors.red))、 )、 アライン( アライメント:Alignment.centerRight 、 子供:RaisedButton( 子: テキスト( "立即下单"、スタイル:TEXTSTYLE(色:Colors.white))、 色:Colors.red、 onPressed:(){} )、 ) ]、 )、 )、 ) ] )); } }