awtk/docs/layout.md
2021-02-04 09:38:57 +08:00

41 lines
1.5 KiB
Markdown

# 控件布局器 (layouter)
## 一、为什么需要控件布局器 (layouter)
如果界面上元素是预先知道的,而且窗口的大小也是固定的,通过可视化的工具,以所见即所得的方式,去创建界面是最轻松的方式。但是在下列情况下,使用布局参数是更好的选择。
* 需要适应不同大小的屏幕。
* 窗口的大小可以动态调整的。
* 界面上的元素是动态的,需要用程序创建界面。
[AWTK](https://github.com/zlgopen/awtk) 提供了简单而又强大的布局参数。
## 二、概述
AWTK 的布局器 (layouter) 分为两类,一类用于对控件自身进行布局,另外一类用于对子控件进行布局。
* self\_layout 对控件自身进行布局
* children\_layout 用于对子控件进行布局
![layout_overview](images/layout_overview.png)
AWTK 提供了灵活的扩展机制,可以方便的扩展新的布局方式,所以 self\_layouter 和 children\_layouter 都是接口。
## 三、控件自身的布局
![self_layouter](images/layout_self_layouter.png)
* 1.[缺省控件布局器介绍](self_layouter_default.md)
* 2.[菜单布局器介绍](self_layouter_menu.md)
> 以后会陆续实现 css flex 等布局方式。
## 三、子控件的布局
![children_layouter](images/layout_children_layouter.png)
* 1.[缺省子控件布局器介绍](children_layouter_default.md)
* 2.[ListView 子控件布局器介绍](children_layouter_list_view.md)
> 以后会陆续实现 css flex 等布局方式。