kivy八種布局:FloatLayout、BoxLayout、AnchorLayout、GridLayout、PageLayout、RelativeLayout、ScatterLayout、StackLayout。
FloatLayout:浮動布局,它允許将子部件通過位置參數(pos_hint)和尺寸參數(size_hint)放置在視窗的任意位置.我們用此布局可按視窗大小高度來放置小部件,并且當在不同分辨率的移動裝置中,視窗的大小改變時,放置在視窗内的小部件也會相應的調整大小與位置,而不會産生因視窗的大小變化而使布局亂成一團。
BoxLayout:盒子布局,是可以将子部件水準或垂直進行排列的布局,類似Android中的線性布局,如果不設定任何大小,子部件将會以10px的間距平分父視窗的大小。
AnchorLayout:錨點布局,此布局可以将子部件放置在左上、上中、右上、左中、正中,右中、左下,下中,右下共9個位置處。
GridLayout:網格布局,使用此布局可以将子部件排列成多行多列的矩陣布局。當設定了列數cols或者行數rows後,子部件大小尺寸與子部件個數多少發生變化時,此布局會根據該值進行擴充,但不會超過界限值。
PageLayout:與其它布局不司,這是個多頁動态布局。此布局可以在視窗内建立多個頁面的布局,這些頁面可以翻轉,每個頁面子部件均可作為單獨的視窗頁面進行開發。
RelativeLayout:相對布局,與FloatLayout基本一緻,但它定位屬性x、center_x、right、y、center_y、top是相對于上級父布局大小而言的,不是針對視窗的大小。
ScatterLayout:分散布局,與RelativeLayout類似。當布局更改位置時,布局内的小部件也會跟着父布局一起變動,并且子部件的位置及大小會相對于父布局自動調整,并且此布局還可以進行平移、旋轉、縮放布局。
StackLayout:堆棧布局,在此布局中,可以進行垂直或水準的排列子部件,并且各個小部件可以不必相同,排列的方向由orientation屬性進行指定。
以上每種布局都有代碼示例,多對代碼進行調試修改,将會更有心得。