Merge和ViewStub布局標(biāo)簽

以下內(nèi)容整理自互聯(lián)網(wǎng),僅用于個人學(xué)習(xí)


1. Merge

Merge作為A布局根標(biāo)簽,其他布局文件B通過include引用A時,Merge標(biāo)簽會被去掉,在include里存放的是merge的子標(biāo)簽,以此減少布局文件的層次。

<merge xmlns:android="http://schemas.android.com/apk/res/android" 
  xmlns:tools="http://schemas.android.com/tools" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" > 
 
  <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="merge標(biāo)簽使用" /> 
 
</merge>

如上面的布局,外層的merge會在最終的布局中去掉。

2. ViewStub

一個寬高都為0的view,默認(rèn)不可見,只有通過調(diào)用setVisibility設(shè)置為可見或者調(diào)用了ViewStub.inflate()時,ViewStub所指向的布局文件才會被inflate和實例化,然后ViewStub布局屬性全部傳給它所指向的布局。

<LinearLayout   
  xmlns:android="http://schemas.android.com/apk/res/android"   
  android:orientation="vertical"   
  android:layout_width="fill_parent"   
  android:layout_height="fill_parent"   
  android:gravity="center_horizontal">   
  <ViewStub    
    android:id="@+id/viewstub_demo_text"   
    android:layout_width="wrap_content"   
    android:layout_height="wrap_content"   
    android:layout_marginLeft="5dip"   
    android:layout_marginRight="5dip"   
    android:layout_marginTop="10dip"   
    android:layout="@layout/viewstub_demo_text_layout"/>  
</LinearLayout>

在onCreate方法中

ViewStub stub = (ViewStub) findViewById(R.id.viewstub_demo_text);   
stub.inflate();
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容