zoukankan      html  css  js  c++  java
  • flutter中自定义控件

    class CustomerLListTitle extends StatelessWidget {

      final Widget imageData;

      final String title;

      CustomerLListTitle({Key key, @required this.imageData, @required this.title});

      @override

      Widget build(BuildContext context) {

        return Row(

          mainAxisAlignment: MainAxisAlignment.start,

          crossAxisAlignment: CrossAxisAlignment.center,

          children: <Widget>[

            Container(

              padding: EdgeInsets.only(right:10),

              child: imageData,

            ),

            Text(title,style:TextStyle(fontSize:20,color:Colors.red))

          ],

        );

      }

    }

    class BanerSwiper extends StatelessWidget {

      final List<dynamic> swiperDataList;

      final Color backGroudColor;

      BanerSwiper({Key key,this.swiperDataList,this.backGroudColor}):super(key:key);

      @override

      Widget build(BuildContext context) {

        return Container(

          color:backGroudColor,

          height: ScreenUtil().setHeight(280),

          ScreenUtil().setWidth(750),

          child: Swiper(

            itemBuilder: (BuildContext context,int index){

              return InkWell(

                onTap: (){

                },

                child:  ClipRRect(

                  child: Image.network("${swiperDataList[index]['image']}",fit:BoxFit.fill),

                  borderRadius: BorderRadius.circular(5),

                ),

                

              );

             

            },

            itemCount: swiperDataList.length,

            pagination: new SwiperPagination(),

            autoplay: true,

            viewportFraction: 0.95,

            scale: 0.9,

          ),

        );

      }

    }

    Widget serachBar(){

        return Container(

          ScreenUtil().setWidth(750),

          height: MediaQuery.of(context).padding.top + ScreenUtil().setHeight(80),

          decoration: BoxDecoration(

            color: Colors.blue,

          ),

          child: Container(

            // padding: EdgeInsets.only(bottom:5),

            child: Column(

              children: <Widget>[

                SizedBox(height:MediaQuery.of(context).padding.top + 5),

                Row(

                  mainAxisAlignment: MainAxisAlignment.spaceAround,

                  crossAxisAlignment: CrossAxisAlignment.center,

                  children: <Widget>[

                    ClipRRect(

                      borderRadius: BorderRadius.circular(20), 

                        child: Container(

                          ScreenUtil().setWidth(750) * 0.85,

                          height: ScreenUtil().setHeight(60),

                          color: Colors.white,

                          child:Padding(

                            padding: EdgeInsets.only(left:10,right: 10),

                              child: Row(

                                crossAxisAlignment: CrossAxisAlignment.center,

                                children: <Widget>[

                                  Icon(Icons.search,color: Colors.grey,size: 26,),

                                  Container(

                                        // color: Colors.green,

                                      120.0,

                                      height: 30.0,

                                      child: TextField(

                                        style: TextStyle(

                                          decorationColor: Colors.red,

                                          color: Colors.black12,

                                          fontSize: ScreenUtil().setSp(30),

                                          // textBaseline: TextBaseline.alphabetic

                                        ),

                                        keyboardType: TextInputType.number,

                                        decoration: InputDecoration(

                                          fillColor: Colors.white30,

                                          border: InputBorder.none,  //去掉下划线

                                          prefixStyle: TextStyle(color: Colors.grey),

                                          contentPadding: EdgeInsets.all(8),

                                          hintText: '请输入商品名称',

                                          hintStyle: TextStyle(color: Colors.grey,fontSize: ScreenUtil().setSp(30))

                                        ), autofocus: false, ),

                                      ) ,

                                ],

                              ),

                            )

                      ) ,

                    ),

                    InkWell(

                      onTap: () { },

                      child: Icon(CupertinoIcons.photo_camera,color: Colors.white,size: ScreenUtil().setSp(70))

                    ) 

                  ],

                ),

              ],

            ),

            

          ),

          

        );

      }

    //导航组件

      Widget _gridViewItemUI(BuildContext context, item, index) {

        return InkWell(

          onTap: () {

            print("112");

          },

          splashColor: Util_Tool.themOpacityColor,//Theme.of(context).splashColor,

          child: Column(

            // mainAxisAlignment: MainAxisAlignment.center,

            crossAxisAlignment: CrossAxisAlignment.center,

            children: <Widget>[

              SizedBox(height: ScreenUtil().getHeight(15)),

              Image.asset(item["imageName"],fit: BoxFit.cover,ScreenUtil().getWidth(36),height:ScreenUtil().getHeight(36)),

              SizedBox(height: ScreenUtil().getHeight(10)),

              Text(item['title'],style:TextStyle(fontSize:ScreenUtil().getSp(12),color:Colors.black,fontWeight: FontWeight.bold))

            ],

          ),

        );

      }

      Widget _mlistTileLRnoLine(Icon leftIcon, Icon rightIcon, String title) {

        //Icons.arrow_right

        return Container(

          decoration: BoxDecoration(

            color: Colors.white,

          ),

          child: ListTile(

            leading: leftIcon,

            title: Text(

              title,

              textAlign: TextAlign.left,

            ),

            trailing: rightIcon,

          ),

        );

      }

      Widget _mlistTileLeftnoLine(String title, Icon leftIcon) {

    //    Icons.arrow_right

        return Container(

          decoration: BoxDecoration(

            color: Colors.white,

          ),

          child: ListTile(

            leading: leftIcon,

            title: Text(

              title,

              textAlign: TextAlign.left,

            ),

          ),

        );

      }

      Widget _mlistTileRightnoLine(String title, Icon rightIcon) {

    //    Icons.arrow_right

        return Container(

          decoration: BoxDecoration(

            color: Colors.white,

          ),

          child: ListTile(

            trailing: rightIcon,

            title: Text(

              title,

              textAlign: TextAlign.left,

            ),

          ),

        );

      }

    }

  • 相关阅读:
    第六次站立会议
    第四次站立会议
    第五次站立会议
    用户场景描述
    第三次站立会议
    第二次站立会议
    maven install 报错Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin
    eclipse配置maven
    maven下载和配置
    maven学习笔记
  • 原文地址:https://www.cnblogs.com/sundaysme/p/12598634.html
Copyright © 2011-2022 走看看