天天看點

Android UI優化—常用UI優化技巧

<include>标簽

<include>标簽可以将一個指定的布局加載到目前布局中,增加布局的重用,在布局中的使用方法如下:

<Linearlayout 
            android:layout_width="fill_parent"                              
            android:layout_height="wrap_content" > 
            <include layout="@layout/otherlayout"> 
 </Linearlayout >       

注意點:

1、隻支援android:layout_開頭的屬性(id屬性例外)

2、如果包含的布局檔案的根元素也指定了id屬性,則以<include>指定的為準

3、android:layout_width和android:layout_height必須存在,否則其他android:layout_*形式的屬性無法生效

<merge>标簽

<merge>标簽主要用來進行UI布局層次優化的,可以删除多餘的層級。使用方法如下:

Android UI優化—常用UI優化技巧

注意點:

1、多和<include>标簽使用

2、<merge>标簽僅僅能作為XML布局的根标簽使用

3、當Inflate以<merge>标簽開頭的布局檔案時,必須指定一個父ViewGroup,而且必須設定attachToRoot為true

<ViewStub>标簽

<ViewStub>簡介

1、java代碼中的ViewStub類繼承自View

2、寬/高都為0,本身不參與任何的布局和繪制

3、相當于一個占位符,可以做到按需加載(延遲加載)

xml布局中使用如下:

Android UI優化—常用UI優化技巧

<ViewStub>标簽的按需加載

方式一:

( (ViewStub) findViewById(R.id.viewstub1)).setVisibility(View.VISIBLE);      
View stubView = ((ViewStub) findViewById(R.id.viewstub1)).inflate();      

其他UI優化技巧