美文网首页鱼乐Android基础知识Android知识
Android布局优化之include标签详解

Android布局优化之include标签详解

作者: 我是吸血鬼 | 来源:发表于2016-03-19 15:10 被阅读2995次

    一、include标签(布局重用)
    1、说明:该标签的目的是解决重复定义布局的问题而诞生的,提高代码的复用
    2、使用方法:

     <include 
            android:id="@+id/my_title_ly" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            layout="@layout/my_title_layout" /> 
    

    3、举例说明:

        my_title_layout.xml
        <?xml version="1.0" encoding="utf-8"?> 
        <RelativeLayout                      
                xmlns:android="http://schemas.android.com/apk/res/android"        
                android:layout_width="match_parent"                                                                                                                                                           
                android:id="@+id/my_title_parent_id" 
                android:layout_height="wrap_content" >
           <ImageButton 
                android:id="@+id/back_btn"                                                                                                            
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:src="@drawable/ic_launcher"   /> 
    
           <TextView android:id="@+id/title_tv"    
                 android:layout_width="wrap_content" 
                 android:layout_height="wrap_content"
                 android:layout_centerVertical="true"
                 android:layout_marginLeft="20dp"   
                 android:layout_toRightOf="@+id/back_btn"
                 android:gravity="center" 
                 android:text="我的title" 
                 android:textSize="18sp" />
          </RelativeLayout> 
    

    include布局文件:

         <?xml version="1.0" encoding="utf-8"?> 
         <LinearLayout   
                xmlns:android="http://schemas.android.com/apk/res/android"           
                android:layout_width="match_parent"
                android:layout_height="match_parent" 
                android:orientation="vertical" > 
                                                                                                                                
    
            <include 
               android:id="@+id/my_title_ly" 
               android:layout_width="match_parent" 
               android:layout_height="wrap_content" 
               layout="@layout/my_title_layout" /> 
    
           </LinearLayout> 
    

    4、注意事项:
    子控件抛出空指针的情况
    include标签若指定了ID属性,而你的layout也定义了ID,则你的layout的ID会被覆盖。如果findViewById()查找layout的Id来查找子控件,会出现这种情况。
    解决:不用上边的方法。可以直接查找子控件的id。或者查找include标签的id来查找子控件。

    相关文章

      网友评论

      • 李梦成:3Q,帮了大忙,我说怎么findId时include的布局找不到呢

      本文标题:Android布局优化之include标签详解

      本文链接:https://www.haomeiwen.com/subject/ybuhlttx.html