日更(二十九)-Flutter-页面编写.调试

瞎扯

flutter虽然已经发布了正式版,但不得不说,有些地方还是不完善.

比如:

导包不方便.

应该说android studio的插件还没做好.目前我还没看到自动导包

没有智能补全提示.

和上面一样,还是插件的问题

写到一半套容器麻烦

布局改起来.特别是需要给控件套容器.
很容易搞不清括号.


说正题.
先来段代码

class _GoodsPageState extends State<GoodsPage> {
  @override
  Widget build(BuildContext context) {
    return Row(
      children: <Widget>[
        Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          mainAxisAlignment: MainAxisAlignment.center,
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            Text("123"),
          ],
        )
      ],
    );
  }
}
2739107-6cf7e519dbac7497.png
image.png

咦.上篇不是写了crossAxisAlignment这个是设置交叉方向设置吗.
相当于水平居中吗
为什么没有居中.

没有居中.肯定是这个控件的大小问题了.

那么.怎么看每个控件的大小?

如果和写android一样,打开开发者模式里的布局边界,你会发现.
是这样的

2739107-fd112908cd1c7c5b.png
image.png

哈哈,完全没卵用.

正确姿势:

2739107-fb0b188c1ce4a026.png
image.png

如图,标出来的3个地方.

然后你就会发现,你可以点模拟器上的内容了

2739107-856f24a7a28ff316.png
image.png

界面上,还多了一个按钮.


2739107-29c7805f86891964.png
image.png

也就是,你选了一个以后,要切换,需要点一下这个按钮.才能去选新的.

当然,你也可以直接在as里面选

2739107-0f61fbe57ee19aa5.png
image.png

这里选了以后,模拟器上就会选中.


这时.就可以看到.


2739107-1d07407c051f5a1e.png
image.png

写的Column只有这么点大小.

mainAxisSize: MainAxisSize.min改成mainAxisSize: MainAxisSize.max,

2739107-c98576ac5e9dc594.png
image.png

会发现,这个属性,只会影响列的高度.不会影响宽度.

怎么占满宽度呢?

return Row(
      children: <Widget>[
        Expanded(
            child: Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          mainAxisAlignment: MainAxisAlignment.center,
          mainAxisSize: MainAxisSize.max,
          children: <Widget>[
            Text("123"),
          ],
        ))
      ],
    );

在Column外面套一层.Expanded就占满了.
也就是相当于android里的layout_weight=1

好了,今天就这些了,今天小年,哈哈


您的喜欢与回复是我最大的动力-_-
交流群:493180098

猜你喜欢

转载自blog.csdn.net/weixin_34360651/article/details/86984798