搜尋此網誌

2014年10月19日 星期日

【Android】layout整理


  • android:layout_width 控制項寬度
  • android:layout_height 控制項高度
    •  "fill_parent" 填滿父控制項(通常是指撐滿螢幕<寬度or高度>)
    •   "wrap_content" 依照內容決定<高度or寬度>
  • ViewGroup
    • LinearLayout
    • AbsoluteLayout
    • RelativeLayout
    • FrameLayout 
  • LinerLayout 屬性
    • android:orientation="vertical" 排列方式由上往下
    • android:orientation="horizontal" 排列方式由左往右
  • RelativeLayout  屬性
    • android:layout_alignParentLeft="10px"  靠左對齊,(吸附邊框左邊)
    • android:layout_alignParentTop   靠上對齊,(吸附邊框上方)
    • android:layout_alignParentRight   靠右對齊,(吸附邊框右邊)
    • android:layout_alignParentBottom  靠下對齊,(吸附邊框下方)
    • android:layout_centerInParent    置中,(計算放在正中間)
    • android:layout_toLeftOf="@id/aaa"       放在aaa的左邊
    • android:layout_toRightOf="@id/bbb"      放在bbb的右邊
    • android:layout_below="@id/ccc"          放在ccc的下面
    • android:layout_above="@id/ddd"          放在ddd的上面 
  • FrameLayout
    FrameLayout可以想成是RelativeLayout的功能閹割版
    RelativeLayout的部份
    1. 能對齊View的框邊
    例如:
    android:layout_alignParentLeft  靠左對齊,(吸附邊框左邊)
    或是
    2. 設定二格View之間的排列關係
    例如:
    android:layout_toLeftOf="@id/aaa"       放在aaa的左邊


  • 而FrameLayout只剩下對齊View的框邊的功能
    用android:layout_gravity來指定
    如果在其中的View有二個設定成一樣的話呢,就會「依序」重疊上去。

    注意一點,只有RelativeLayout和FrameLayout
    才會發生控制項有重疊的現象
    如果版面看似調不出來,可以檢查一下是否為二個控制項重疊,或是版面出界了




    參考網址:
    http://developer.android.com/guide/topics/resources/layout-resource.html 
    http://developer.android.com/guide/topics/ui/declaring-layout.html
    從新建專案看版面layout設計

沒有留言: