android佈局文件 merge 標籤的使用

<merge xmlns:android="http://schemas.android.com/apk/res/android">

    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ToggleButton" />

    <TextView
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginBottom="20dip"
        android:layout_gravity="center_horizontal|bottom"
        android:padding="12dip"
        android:background="#AA000000"
        android:textColor="#ffffffff"
        android:text="Golden Gate" />

</merge>

1.merge佈局 和FrameLayout相似,相同的效果.不一樣的是 merge佈局只能被<include>標籤包含. 或者Activity.setContentView所使用.html

當LayoutInflater遇到能被其餘layout用<include>包含進去,並再也不另外生成ViewGroup容器,本元素也特別有用這個標籤時,它會跳過它,並將<merge />內的元素添加到<merge />的父元素裏. Activity能直接使用的緣由是Activity的父元素是FrameLayout
android

2 merge 能被其餘layout用<include>包含進去,並再也不另外生成ViewGroup容器.就是說,會減小一層layout到達優化layout的目的佈局


限制:優化

         <merge />只能做爲XML佈局的根標籤使用
·        當Inflate以<merge />開頭的佈局文件時,必須指定一個父ViewGroup,而且必須設定attachToRoot爲true(參看inflate(int, android.view.ViewGroup, Boolean)方法)。
spa

相關文章
相關標籤/搜索