9-12布局进阶 网格卡片功能实现和布局技巧2

Posted wangjunwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9-12布局进阶 网格卡片功能实现和布局技巧2相关的知识,希望对你有一定的参考价值。


上面一个item下面一个item。这里用到了Expaned让他展开
技术图片
这里又用到的是SizedBox。一个是水平方向的展开,一个垂直方向的展开。
技术图片
也就是我们的iten在水平和垂直方向都能够填充父布局的宽度和高度

下面使用这个doubleItem


技术图片


isCenterItem这个参数并没有用,这里直接删除掉
技术图片
删掉参数后
技术图片

_doubleItem的参数isCenterItem也删除掉。
技术图片
item1和2对应的海外酒店、特价酒店。item3和4对应的是团购和民宿客栈
技术图片
技术图片

接下来让三个item水平排列

需要用一个Row组件包裹他们,在包裹之前我们希望这三个组件都能撑满它的布局
技术图片
那么怎么撑满呢?
技术图片

渐变的效果。
技术图片
我们设置整行的渐变,_gridItem就代表一整行
在flutter里面实现线性渐变。
技术图片
开始颜色和结束的颜色。实现线性渐变
技术图片

最终是Row布局
技术图片

123行的数据都展示出来了
技术图片

首页调用

技术图片


技术图片

运行测试

技术图片

技术图片
这样效果就显示出来了。
技术图片

这里的文字没有居中显示
技术图片
这里设置顶部居中
技术图片

技术图片
再设置顶部的边距。文字用Container来包裹一下
技术图片

技术图片
还差左右两边的边距和 整体的圆角。下图是最终的成品。
技术图片

圆角

外层嵌套一个Container然后在BoxDecoration里面设置圆角。
技术图片
但是没有起作用。上面一层渐变色,包裹上面的内容把下面的装饰器给盖住了。所以看不到圆角的效果。
技术图片

那么该怎么实现圆角效果呢

彩蛋,如何一劳永逸的设置圆角。
在flutter里面,提供了一个widget。PyhsicaModel来实现圆角。
技术图片
技术图片

再设置裁切
技术图片
这样就有圆角了
技术图片

再设置边距

在组件home_page页面调用的时候,外层套一个Padding,然后里面设置它的边距就可以了。
技术图片
技术图片

跳转详情

点击进行跳转,发现少了左边的返回按钮。
技术图片
其实是iphoneX的刘海给挡住了
技术图片
顶部padding设置40
技术图片
再加上背景色
技术图片
点击点击并没有返回。
技术图片

这是因为没有增加返回的事件
技术图片
确实返回了首页,但是webView还在。
技术图片
让webView先销毁,再销毁当前页面, 把super.dispose()已到最下面执行。
技术图片
成功的返回。
技术图片
 

结束

 

以上是关于9-12布局进阶 网格卡片功能实现和布局技巧2的主要内容,如果未能解决你的问题,请参考以下文章

详解CSS中的网格布局,小程序中实现预约列表功能

详解CSS中的网格布局,小程序中实现预约列表功能

wpf卡片布局

React 中的响应式卡片网格

如何使用 CustomScrollView 功能布局子网格的动态宽度?

CSS进阶之关于网格布局(Grid) 你了解哪些