用户登录

打开 file_show_store,在这个 store 里我们继续再添加几个计算属性,返回的值的类型是 FileMetadataListItem? 名字是 camera ,在里面声明一个 FileMetadataListItem? 名字是 item 。 最终可以返回这个 item。

然后声明一个 make ,值是 metadata?.make ,相机的品牌,再添加一个 model ,值是 metadata?.model ,相机的型号。

判断一下 make 是不是不等于 null ,满足条件,在里面声明一个 value,值是一个字符串,里面先是 $make 表示的值 ,然后可以判断一下 model 是不是不等于 null ,如果是,再添加一个空格 $model ,不然就是一个空白。

设置一下 item ,新建一个 FileMetadataListItem ,它的 title 是 相机,value 是 value 。

lens

下面再准备一下镜头相关的数据,复制一份这个 camera ,修改一下名字,设置成 lens, 声明一个 lensMake,值是 metadata 里的 lensMake,镜头的品牌,再声明一个 lensModel,值是 metadata 里的 lensModel 。

判断一下 lensMake 是不是不等于 null ,如果是,这个 value 的值先是 lensMake,然后判断 lensModel 是不是不等于 null ,如果是添加一个空格 lensModel 。

设置一下 item ,把 title 设置成镜头。

kit

然后再把相机还有镜头放在一个列表里,再定义一个计算属性,返回的值的类型是 List? ,名字是 kit ,里面声明一个 Items,值是一个列表,判断一下 camera 不等于 null ,可以添加一个 camera! ,再判断一下 lens 是不是不等于 null,满足条件在列表里再添加一个 lens!

return 的值,判断一下 items.length 是不是大于 0 ,如果是就返回 items,不然就返回 null 。

getFileById

找到 getFileById 这个方法,在这个 cache 里面,再添加一个 'kit',值是 kit 这个计算属性的值。

post_bottom_sheet_file_metadata

打开 post_bottom_sheet_file_metadata,先准备一下需要的设备数据,复制一份这个 specs,改下名字,换成 kit ,值是 cache,value 里的 kit 。

在这个 Column 的 children 里面,判断一下 kit 不等于 null ,满足条件这里再添加一个 FileMetadataList,把 kit 交给它。

测试

重新启动一下应用,打开一个内容页面,然后打开内容底板,你会发现,这里会显示照片的拍摄设备相关的信息。

这两个数据列表之间可以添加一个分隔线,在这个 post_bottom_sheet_file_metadata 里面,声明一个 separator,值是一个 Container,用 padding 设置一下边距,EdgeInsets.only,bottom 是 16 ,它的 child 用一个 Divider,把 thickness 设置成 1 。

然后在这个 Column 的 children 里面,判断一下 kit 不等于 null,满足条件,这里再添加一个 separator。

显示拍摄设备数据(相机、镜头)《 Flutter 移动端实例:内容底板 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点