flutter 分割线_Flutter之踩坑的日子(9)

7b66cc49d4e5abdf261e0b7d7b17b9cf.png

上一篇的文章中,我们遗留了两个问题没有处理。分别是

2. 没有按照月份显示分割线。

3. 内容列表没有放置我们需要显示的日期,而是用图标代替。

针对问题2,我们首要的任务是显示出分割线,这个东西可以直接使用Divider来处理,但是查看代码,这个分割线组件并无法实现我们需要的,用年份和月份来分割界面的效果。

它只是单纯的分割线,无法展示文本信息。

所以我们需要考虑如何实现这个效果。

可以编写一个widget来处理这个效果

可以直接用图片绘制背景,再在背景上放置文本。

可以使用行容器组件。

等等等等…

我们采用最简单的实现方法,用一个行容器组件来放置三个基础组件,两个图片组件1和一个文本组件。

Row

针对问题3,我们可以将界面进行拆分,具体如下图所示:

c4fc421a8577f514fb0e6a0b326e71f6.png

参考标题草图,可以看出这一部分组件的整体结构。

d495f0c0f06598a833cc2c5ee2f70801.png

整体是一个行组件,左侧放置一个column容器,中间容纳2个文本组件,分别存放日期和周,右侧放置listtitle即可,无需icon属性。当然也可以不省略。

然而实际使用时,右侧无法直接使用listTitle组件。最终还是使用row行组件和column列组件和text文本组件的组合来实现了最基础的效果。

Row(
          children: [
 Column(
              children: [Text("8月13日"), Text("星期四")],
            ),
 Column(
              children: [Text("今天的长城也很平静"), Text("非常平常的一天,护卫队没有什么大事。")],
            ),
          ],
        ),

在模拟器中,对应组件的效果是这样的:、

0dc3838eb75e790f1294fedf03e61ccc.png

在这里重申我们的开发步骤:结构分解,结构试制,效果调整。我们的目的是在开发速度和实现难度之间,在展示效果和项目进度之间找到合适的平衡点。因此我们不用急着采用先进的模式或者构架,除非它在某方面有无法忽略的明显优势。

那么,既然界面结构基本完成,我们就应当进入下一步骤,效果的调整。我们可以看到,目前显示的内容均为紧贴左侧,字体也没有用明显的色彩或者大小来区分其展示的内容。

我们接下来的初步考虑是:

分割线应当居中,并且可以设置具体宽度。分割线宽度暂时设置为屏幕宽度的80%

内容展示应当居中,并且可以设置具体宽度,内容宽度暂时设置为屏幕宽度的80%,其中20%左右为左侧时间区域宽度,其余为右侧标题和内容提要的宽度。

居中这个事情呢,首先无论分割线还是内容,都是作为listview的子组件出现的,所以是否居中应当由listview来控制。然而看了看listview的构造参数,并没有找到控制子组件居中的内容。

那么再看看行组件Row好了,这里面有没有控制其内容居中的参数呢?有的。

然后在网上搜索了下,又调整了这部分代码。

 Row(
          children: [
 SizedBox(width: 50), // 50宽度
 Column(
              children: [Text("9月21日"), Text("星期一")],
            ),
 SizedBox(width: 30), // 50宽度
 Column(
              children: [Text("再多喜欢阿离一点"), Text("可以吗?")],
            ),
          ],
        ),
 

577974c6ae92ca46b5ccee957e1cb804.png

界面的基本样式已经制作完毕,接下来应该进行的就是效果的调整。下一个页面将是编辑笔记内容的页面,此页面用于新建笔记内容的编辑,和修改已有笔记内容。

参考文章:

flutter中行(Row)元素相互之间保持间距的几种方式?_flutter_码云网​findsrc.com
604c1ff4fbe70a78b96ffdcb12e2f46c.png
5.3:装饰容器(DecoratedBox) · 《Flutter实战》​book.flutterchina.club
6630a11a8a425f269d936d5c6849ce89.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值