フラッター模造Jingdongモールプロジェクトの決済ページレイアウト

フラッター模造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:(){} 
                      )、
                  ]、 )、
                )、
              
          ] 
        )); 
  } 
}

 

おすすめ

転載: www.cnblogs.com/zxh1919/p/12564526.html
おすすめ