深度剖析Android TableLayout容器
經(jīng)過長時間學習Android TableLayout容器,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。學習Android TableLayout容器時,你可能會遇到使用上面的問題,下面進行學習。
所有的子元素將會固定在屏幕的左上角;你不能為FrameLayout中的一個子元素指定一個位置。后一個子元素將會直接在前一個子元素之上進行覆蓋填充,把它們部份或全部擋?。ǔ呛笠粋€子元素是透明的)。
Android TableLayout容器以你為它設置的垂直或水平的屬性值,來排列所有的子元素。所有的子元素都被堆放在其它元素之后,因此一個垂直列表的每一行只會有一個元素,而不管他們有多寬。
而一個水平列表將會只有一個行高(高度為***子元素的高度加上邊框高度)。LinearLayout保持子元素之間的間隔以及互相對齊(相對一個元素的右對齊、中間對齊或者左對齊)。
LinearLayout還支持為單獨的子元素指定weight 。好處就是允許子元素可以填充屏幕上的剩余空間。這也避免了在一個大屏幕中,一串小對象擠成一堆的情況,而是允許他們放大填充空白。子元素指定一個weight 值,剩余的空間就會按這些子元素指定的weight 比例分配給這些子元素。默認的 weight 值為0。
例如,如果有三個文本框,其中兩個指定了weight 值為1,那么,這兩個文本框?qū)⒌缺壤胤糯?,并填滿剩余的空間,而第三個文本框不會放大。AbsoluteLayout 可以讓子元素指定準確的x/y坐標值,并顯示在屏幕上。(0, 0)為左上角,當向下或向右移動時,坐標值將變大。
AbsoluteLayout 沒有頁邊框,允許元素之間互相重疊(盡管不推薦)。我們通常不推薦使用 AbsoluteLayout ,除非你有正當理由要使用它,因為它使界面代碼太過剛性,以至于在不同的設備上可能不能很好地工作。
Android TableLayout容器 將子元素的位置分配到行或列中。一個TableLayout 由許多的TableRow 組成,每個TableRow 都會定義一個 row (事實上,你可以定義其它的子對象,這在下面會解釋到)。
Android TableLayout容器不會顯示row 、cloumns 或cell 的邊框線。每個 row 擁有0個或多個的cell ;每個cell 擁有一個View 對象。表格由列和行組成許多的單元格。表格允許單元格為空。單元格不能跨列,這與HTML 中的不一樣。
一個從 BSD 繼承來的標準 C 系統(tǒng)函數(shù)庫( libc ),專門為基于 embedded linux 的設備定制。 媒體庫 - 基于 PacketVideo OpenCORE;該庫支持錄放,并且可以錄制許多流行的音頻視頻格式,還有靜態(tài)印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。
Surface Manager - 對顯示子系統(tǒng)的管理,并且為多個應用程序提供2D和3D圖層的無縫融合。 LibWebCore - 一個***的web瀏覽器引擎用來支持Android瀏覽器和一個可嵌入的web視圖。
SGL - 一個內(nèi)置的2D圖形引擎 3D libraries - 基于OpenGL ES 1.0 APIs實現(xiàn);該庫可以使用硬件3D加速(如果可用)或者使用高度優(yōu)化的3D軟加速。 FreeType - 位圖(bitmap)和向量(vector)字體顯示。 SQLite - 一個對于所有應用程序可用,功能強勁的輕型關(guān)系型數(shù)據(jù)庫引擎。
【編輯推薦】