標籤:android io ar 使用 sp on bs ad ef
布局:
1、幀布局 FrameLayout:
是最簡單的一個布局對象。在他裡面的的所有顯示對象愛你過都將固定在螢幕的左上方,不能指定位置,但允許有多個顯示對象,只是後一個會直接覆蓋在前一個之上顯示,會把前面的組件部分或全部擋住。
但我們可以使用android:marginTop來布局。
2、線性布局 LinearLayout:
線性布局是所有布局中最常用的類之一,也是RadioGroup, TabWidget, TableLayout, TableRow, ZoomControls類的父類。LinearLayout可以讓它的子項目垂直或水平的方式排成一行(不設定方向的時候預設按照垂直方向排列)。
3、絕對布局 AbsoluteLayout
絕對位置AbsoluteLayout,又可以叫做座標布局,可以直接指定子項目的絕對位置,這種布局簡單直接,直觀性強,但是由於手機螢幕尺寸差別比較大,使用絕對位置的適應性會比較差。使用android:layout_x和android:layout_y來指定子項目的縱橫座標。 在絕對位置中,如果子項目不設定layout_x和layout_y,那麼它們的預設值是0,也就是說它會像在FrameLayout一樣這個元素會出現在左上方。
4、相對布局 RelativeLayout
相對布局 RelativeLayout 允許子項目指定它們相對於其父元素或兄弟元素的位置,這是實際布局中最常用的布局方式之一。它靈活性大很多,當然屬性也多,操作難度也大,屬性之間產生衝突的的可能性也大,使用相對布局時要多做些測試。
RelativeLayout用到的一些重要的屬性:
第一類:屬性值為true或false
android:layout_centerHrizontal 水平置中
android:layout_centerVertical 垂直置中
android:layout_centerInparent 相對於父元素完全置中
android:layout_alignParentBottom 貼緊父元素的下邊緣
android:layout_alignParentLeft 貼緊父元素的左邊緣
android:layout_alignParentRight 貼緊父元素的右邊緣
android:layout_alignParentTop 貼緊父元素的上邊緣
android:layout_alignWithParentIfMissing 如果對應的兄弟元素找不到的話就以父元素做參照物
第二類:屬性值必須為id的引用名“@id/id-name”
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左邊
android:layout_toRightOf 在某元素的右邊
android:layout_alignTop 本元素的上邊緣和某元素的的上邊緣對齊
android:layout_alignLeft 本元素的左邊緣和某元素的的左邊緣對齊
android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對齊
android:layout_alignRight 本元素的右邊緣和某元素的的右邊緣對齊
第三類:屬性值為具體的像素值,如30dip,40px
android:layout_marginBottom 離某元素底邊緣的距離
android:layout_marginLeft 離某元素左邊緣的距離
android:layout_marginRight 離某元素右邊緣的距離
android:layout_marginTop 離某元素上邊緣的距離
例如:使ListView的height為fill_parent,marginTop或marginBotoom為具體數值,則ListView
不會佔滿底部空間,使ListView以下的控制項無法顯示,ListView會在設定的控制項顯示內容,內容過多則顯示滾動效果。
5、表格版面配置 TableLayout
表格版面配置TableLayout以行列的形式管理子項目,每一行是一個TableRow布局對象,當然也可以是普通的View對象,TableRow離每放一個元素就是一列,總列數由列數最多的那一行決定。
collapseColumns – 設定隱藏那些列,列ID從0開始,多個列的話用”,”分隔
stretchColumns – 設定自動伸展那些列,列ID從0開始,多個列的話用”,”分隔
shrinkColumns -設定自動收縮那些列,列ID從0開始,多個列的話用”,”分隔
可以用”*”來表示所有列,同一列可以同時設定為shrinkable和stretchable。
android:layout_column 指定該儲存格在第幾列顯示
android:layout_span 指定該儲存格佔據的列數(未指定時,為1)
Tip:TableRow也是一個Layout,裡面的元素會水平排列,如果TableRow的父元素不是TableLayout的話,那麼他會表現的像一個LinearLayout。
Android 使用者介面 ViewGroup(FrameLayout LinearLayout AbsoluteLayout RelativeLayout TableLayout)