layout佈局
就是把介面中的控制元件按照某種規律擺放到指定的位置
-
佈局的二種實現 程式碼 xml配置檔案:res/layout目錄下 注:也可以同時使用xml和程式碼
-
佈局的基本屬性 取值範圍 { //效果是一樣的 fill_parent//過時 match_parent//不過時 }
固定值 { dp 控制元件大小 sp 文字大小 }
padding 內補丁 margin 外補丁
android:gravity和android:layout_gravity 用一個TextView、文字、背景檢視效果最方便 android:gravity:控制元件內部的元素 android:layout_gravity:控制元件所在父元素的位置 但父元素的水平和垂直設定的優先度更高
-
常見佈局 線性佈局(重點) LinearLayout 表格佈局(幾乎不用) 幀佈局
絕對佈局 相對佈局 RelativeLayout 網格佈局 RTL(幾乎不用)
-
案例1:padding內補丁、margin外補丁的區別,以及與內容 match_parent/fill_parent padding/margin background wrap_content
-
案例2:線性佈局(重點) orientation=“vertical|horizontal” android:gravity:控制元件內部的元素(對內有效)
-
案例3:android:gravity和android:layout_gravity的區別 7.1 android:gravity:控制元件內部的元素(對內有效) android:layout_gravity:控制元件所在父元素的位置(對外生效) 7.2 特殊情況 父元素的android:orientation=“vertical”,layout_gravity 水平設定的相關屬性有效 父元素的android:orientation=“horizontal”,layout_gravity 垂直設定的相關屬性有效
-
案例4:LinearLayout佈局中Layout_weight屬性的作用 8.1 首先宣告只有在Linearlayout中,layout_weight屬性才有效。 8.2 它是用來指定(剩餘空閒空間)的分割比例,而非按比例分配整個空間。 8.3 另外android:layout_weight會引起爭議,是因為在設定該屬性的同時, 設定android:layout_width為wrap_content和match_parent會造成兩種截然相反的效果。 8.4 如果想用layout_weight平均分配空間,正確方式是將layout_width(或layout_height)設定為0dp, 再通過layout_weight按比例分配空間 注:關鍵點在於搞清楚什麼是剩餘空閒空間
-
案例5:幀佈局(就好象一張張卡片堆疊上去,後面會蓋出前面的) FrameLayout 注:幀佈局有點類似於awt的CardLayout都是把元件一個一個疊加到一起, 但CardLayout能將下面的元件移上來,但FrameLayout沒有提供此功能
ImageView src scaleType=“fitXY” XY方向拉伸
android:scaleType=“fitXY” android:src="@drawable/img18"