### 1.8布局
布局是通過特定的方式來容納排列部件的容器。
* [錨狀布局AnchorLayout](https://kivy.org/docs/api-kivy.uix.anchorlayout.html#module-kivy.uix.anchorlayout)
部件能被定位到頂部、底部、左側、右側或中心。
* [盒子布局BoxLayout](https://kivy.org/docs/api-kivy.uix.boxlayout.html#module-kivy.uix.boxlayout)
部件被按照垂直或水平方向有序的排列。
* [浮動布局FloatLayout](https://kivy.org/docs/api-kivy.uix.floatlayout.html#module-kivy.uix.floatlayout)
本質上,部件的位置不受限定。
* [相對布局RelativeLayout](https://kivy.org/docs/api-kivy.uix.relativelayout.html#module-kivy.uix.relativelayout)
子部件相對父布局層定位。
* [網格布局GridLayout](https://kivy.org/docs/api-kivy.uix.gridlayout.html#module-kivy.uix.gridlayout)
部件被放置在有行和列定義好的網格內。
* [頁面布局PageLayout](https://kivy.org/docs/api-kivy.uix.pagelayout.html#module-kivy.uix.pagelayout)
頁面布局被用來創建簡單的多頁布局,它可以很容易的從一個頁面切換到另一個。
* [分散布局ScatterLayout](https://kivy.org/docs/api-kivy.uix.scatterlayout.html#module-kivy.uix.scatterlayout)
分散布局內,部件的定位同相對布局類似,但是它們可以被轉換、轉動和拉伸。
* [堆棧布局StackLayout](https://kivy.org/docs/api-kivy.uix.stacklayout.html#module-kivy.uix.stacklayout)
部件被按照*lr-tb*(從左到右,再從上到下)或*tb-lr(從上到下,再從左到右)的順序進行排列。
當你添加一個部件到布局內時,下面的屬性可以用來檢測部件的尺寸和位置:
* **size_hint**:以百分比的形式定義了一個在父窗口內的部件的大小,其屬性值在0.0~1.0之間,例如0.01=1%,1=100%
* **pos_hint**:被用來計算一個部件相對于父窗口的位置。
**size_hint**和**pos_hint**僅在一個部件的尺寸和位置未被設置為None時,才會計算一個部件的尺寸和位置;如果你設置了它們的值為None,那么布局不會再定位和計算部件大小,你可以直接指定其大小和位置。
### 下節預告: 1.9 繪畫