当前位置: 首页 > news >正文

测词汇量的专业网站如何给网店做推广

测词汇量的专业网站,如何给网店做推广,网站搭建公司官网,网易梦幻西游网页版今天#xff0c;我将提供一个实际的示例#xff0c;演示如何在单个页面上实现多个列表#xff0c;这些列表可以水平排列、网格格式、垂直排列#xff0c;甚至是这些常用布局的组合。 下面是要做的#xff1a; 实现 让我们从创建一个包含产品所有属性的产品模型开始。 … 今天我将提供一个实际的示例演示如何在单个页面上实现多个列表这些列表可以水平排列、网格格式、垂直排列甚至是这些常用布局的组合。 下面是要做的 实现 让我们从创建一个包含产品所有属性的产品模型开始。 class Product {final String id;final String name;final double price;final String image;const Product({required this.id,required this.name,required this.price,required this.image,});factory Product.fromJson(Map json) {return Product(id: json[id],name: json[name],price: json[price],image: json[image],);} }现在我们将设计我们的小部件以支持水平、垂直和网格视图。 创建一个名为 HorizontalRawWidget 的新窗口小部件类定义水平列表的用户界面。 import package:flutter/material.dart; import package:multiple_listview_example/models/product.dart;class HorizontalRawWidget extends StatelessWidget {final Product product;const HorizontalRawWidget({Key? key, required this.product}): super(key: key);overrideWidget build(BuildContext context) {return Padding(padding: const EdgeInsets.only(left: 15,),child: Container(width: 125,decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(12)),child: Column(crossAxisAlignment: CrossAxisAlignment.start,children: [Padding(padding: const EdgeInsets.fromLTRB(5, 5, 5, 0),child: ClipRRect(borderRadius: BorderRadius.circular(12),child: Image.network(product.image,height: 130,fit: BoxFit.contain,),),),Expanded(child: Padding(padding: const EdgeInsets.all(8.0),child: Column(crossAxisAlignment: CrossAxisAlignment.start,children: [Expanded(child: Text(product.name,maxLines: 2,overflow: TextOverflow.ellipsis,style: const TextStyle(color: Colors.black,fontSize: 12,fontWeight: FontWeight.bold)),),Row(crossAxisAlignment: CrossAxisAlignment.end,children: [Text(\$${product.price},style: const TextStyle(color: Colors.black, fontSize: 12)),],),],),),)],),),);} }设计一个名为 GridViewRawWidget 的小部件类定义单个网格视图的用户界面。 import package:flutter/material.dart; import package:multiple_listview_example/models/product.dart;class GridViewRawWidget extends StatelessWidget {final Product product;const GridViewRawWidget({Key? key, required this.product}) : super(key: key);overrideWidget build(BuildContext context) {return Container(padding: const EdgeInsets.all(5),decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(10)),child: Column(children: [AspectRatio(aspectRatio: 1,child: ClipRRect(borderRadius: BorderRadius.circular(10),child: Image.network(product.image,fit: BoxFit.fill,),),)],),);} }最后让我们为垂直视图创建一个小部件类。 import package:flutter/material.dart; import package:multiple_listview_example/models/product.dart;class VerticalRawWidget extends StatelessWidget {final Product product;const VerticalRawWidget({Key? key, required this.product}) : super(key: key);overrideWidget build(BuildContext context) {return Container(margin: const EdgeInsets.symmetric(horizontal: 15, vertical: 5),padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 10),color: Colors.white,child: Row(children: [Image.network(product.image,width: 78,height: 88,),const SizedBox(width: 15,),Expanded(child: Column(crossAxisAlignment: CrossAxisAlignment.start,children: [Text(product.name,style: const TextStyle(fontSize: 12, color: Colors.black, fontWeight: FontWeight.bold),),SizedBox(height: 5,),Text(\$${product.price},style: const TextStyle(color: Colors.black, fontSize: 12)),],),)],),);} }现在是时候把所有的小部件合并到一个屏幕中了我们先创建一个名为“home_page.dart”的页面在这个页面中我们将使用一个横向的 ListView、纵向的 ListView 和 GridView。 import package:flutter/material.dart; import package:multiple_listview_example/models/product.dart; import package:multiple_listview_example/utils/product_helper.dart; import package:multiple_listview_example/views/widgets/gridview_raw_widget.dart; import package:multiple_listview_example/views/widgets/horizontal_raw_widget.dart; import package:multiple_listview_example/views/widgets/title_widget.dart; import package:multiple_listview_example/views/widgets/vertical_raw_widget.dart;class HomePage extends StatelessWidget {const HomePage({Key? key}) : super(key: key);overrideWidget build(BuildContext context) {List products ProductHelper.getProductList();return Scaffold(backgroundColor: const Color(0xFFF6F5FA),appBar: AppBar(centerTitle: true,title: const Text(Home),),body: SingleChildScrollView(child: Container(padding: const EdgeInsets.symmetric(vertical: 20),child: Column(crossAxisAlignment: CrossAxisAlignment.start,children: [const TitleWidget(title: Horizontal List),const SizedBox(height: 10,),SizedBox(height: 200,child: ListView.builder(shrinkWrap: true,scrollDirection: Axis.horizontal,itemCount: products.length,itemBuilder: (BuildContext context, int index) {return HorizontalRawWidget(product: products[index],);}),),const SizedBox(height: 10,),const TitleWidget(title: Grid View),Container(padding:const EdgeInsets.symmetric(horizontal: 15, vertical: 10),child: GridView.builder(gridDelegate:const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2,crossAxisSpacing: 13,mainAxisSpacing: 13,childAspectRatio: 1),itemCount: products.length,shrinkWrap: true,physics: const NeverScrollableScrollPhysics(),itemBuilder: (BuildContext context, int index) {return GridViewRawWidget(product: products[index],);}),),const TitleWidget(title: Vertical List),ListView.builder(itemCount: products.length,shrinkWrap: true,physics: const NeverScrollableScrollPhysics(),itemBuilder: (BuildContext context, int index) {return VerticalRawWidget(product: products[index],);}),],),),),);} }我使用了一个 SingleChildScrollView widget 作为代码中的顶部根 widget考虑到我整合了多个布局如水平列表、网格视图和垂直列表我将所有这些 widget 包装在一个 Column widget 中。 挑战在于如何处理多个滚动部件因为在上述示例中有两个垂直滚动部件一个网格视图和一个垂直列表视图。为了禁用单个部件的滚动行为 physics 属性被设置为 const NeverScrollableScrollPhysics()。取而代之的是使用顶层根 SingleChildScrollView 来启用整个内容的滚动。此外SingleChildScrollView上的shrinkWrap属性被设置为true以确保它能紧紧包裹其内容只占用其子控件所需的空间。 Github 链接https://github.com/tarunaronno005/flutter-multiple-listview
http://www.w-s-a.com/news/901017/

相关文章:

  • 网站备案最新备案号电子商务网站建设的规章制度
  • wordpress制作单页网站导航页面鞍山信息港招聘信息
  • 屏蔽ip地址访问网站自己做衣服的网站
  • 网站建设 域名业务 邮箱哪里有网站建设中心
  • 免费网站赚钱重庆建设摩托车股份有限公司
  • 合肥水运建设工程监理网站自己买服务器能在wordpress建网站
  • wordpress积分商城主题整站seo排名要多少钱
  • 鲜花网站建设的利息分析网站设计与制作专业
  • 深圳网站建设排名做网站的公司高创
  • 杭州哪家做外贸网站全国物流网站有哪些平台
  • 企业网站建设个人博客鞍山晟宇网站建设
  • 广东省自然资源厅网站h5移动端网站模板下载
  • 网站建设和安全管理制度云南九泰建设工程有限公司官方网站
  • 网站的关键词和描述做外贸家纺资料网站
  • 绥化市建设工程网站招投标地址链接怎么生成
  • 网站制作设计发展前景网页链接制作生成二维码
  • 廊坊哪里有制作手机网站的企业网站建设费用财务处理
  • 手机网站建设书籍工商咨询服务
  • 麻花星空影视传媒制作公司网站美食网站网站建设定位
  • 网站的切图是谁来做学会网站 建设
  • 交通局网站建设方案答辩ppt模板免费下载 素材
  • 个人摄影网站推介网手机版
  • 有哪些免费的视频网站网站开发和竞价
  • 学校网站如何做广州商城型网站建设
  • 微网站建设哪家便宜易优建站系统
  • 推荐做木工的视频网站毕业设计做的网站抄袭
  • 网站导航页面制作wordpress调用文章阅读量
  • app小程序网站开发品牌购物网站十大排名
  • 用wordpress做购物网站龙岩品牌设计
  • 网站开发是指wordpress系统在线升级