灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2323回复:0

android中include标签的使用

楼主#
更多 发布于:2012-09-06 13:57


在一个项目中我们可能会需要用到相同的布局设计,如果都写在一个xml文件中,代码显得很冗余,并且可读性也很差,所以我们可以把相同布局的代码单独写成一个模块,然后用到的时候可以通过<include /> 标签来重用layout代码。
app_title.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout Android:id="@+id/titleLayout" Android:layout_width="fill_parent" Android:layout_height="wrap_content"
                        Android:background="@drawable/bt" xmlns:Android="http://schemas.Android.com/apk/res/Android">
                      
                <TextView Android:text="@string/login" Android:id="@+id/title" Android:textSize="20px" Android:textColor="@color/white"
                        Android:layout_width="wrap_content" Android:layout_centerInParent="true" Android:layout_height="wrap_content"/>              
                <Button Android:text="返回" Android:id="@+id/refresh" Android:layout_width="wrap_content" Android:layout_height="wrap_content"
                        Android:layout_alignParentRight="true" Android:focusable="false" Android:textColor="@color/white"
                        Android:background="@drawable/okbutton" Android:layout_marginRight="3px"/>
</RelativeLayout>
app_tradelogin.xml:
<?xml version="1.0" encoding="utf-8"?>
<!-- Android:layout_below与 Android:layout_above 是必须设置的,否则界面不规则,不设置Android:layout_above本界面没有滑动效果-->
<ScrollView Android:layout_below="@+id/titleLayout" Android:layout_above="@+id/appbottom" Android:layout_width="fill_parent"
         Android:layout_height="fill_parent" Android:layout_centerInParent="true" xmlns:Android="http://schemas.Android.com/apk/res/Android">
        <LinearLayout Android:id="@+id/theWholeLinearLayout" Android:orientation="vertical" Android:layout_width="fill_parent"
                Android:layout_height="wrap_content" Android:paddingLeft="10px" Android:paddingTop="6px" Android:paddingRight="10px" >
                <LinearLayout Android:id="@+id/linearLayoutLeft" Android:orientation="vertical" Android:layout_width="fill_parent" Android:layout_height="wrap_content">
                        <TableLayout Android:id="@+id/widget43" Android:layout_width="fill_parent"
                                Android:layout_height="fill_parent" Android:orientation="vertical"
                                xmlns:Android="http://schemas.Android.com/apk/res/Android" AndroidtretchColumns="1">
                                <TableRow >
                                <!--  定义好的TextView样式,如果这里的属性和样式里定义的属性重复,则这里会替换样式里定义的属性-->
                                        <TextView Android:id="@+id/traderName" Android:text="@string/traderName" style="@style/StyleTextInfo1" mce_style="@style/StyleTextInfo1"/>
                                        <Spinner Android:id="@+id/traderNameS" Android:layout_width="fill_parent" Android:layout_height="wrap_content">
                                        </Spinner>
                                </TableRow>
                                      
                                <TableRow>
                                        <TextView Android:id="@+id/departName" Android:text="@string/departName" style="@style/StyleTextInfo1" mce_style="@style/StyleTextInfo1"/>
                                        <Spinner Android:id="@+id/departNameS" Android:layout_width="fill_parent" Android:layout_height="wrap_content"/>
                                </TableRow>
                              
                                <TableRow >
                                        <TextView Android:id="@+id/strComponyName" Android:text="@string/accType" style="@style/StyleTextInfo1" mce_style="@style/StyleTextInfo1"/>
                                        <Spinner Android:id="@+id/accTyte" Android:layout_width="fill_parent" Android:layout_height="wrap_content"/>
                                </TableRow>
                              
                                <TableRow >
                                        <TextView Android:id="@+id/strUserAcc" Android:text="@string/userAcc" style="@style/StyleTextInfo1" mce_style="@style/StyleTextInfo1"/>
                                        <EditText Android:id="@+id/accEditText" Android:text="" Android:numeric="decimal" style="@style/StyleEditText1" mce_style="@style/StyleEditText1"/>
                                </TableRow>
                              
                                <TableRow >
                                        <TextView Android:id="@+id/userPwd" Android:text="@string/userPWD" style="@style/StyleTextInfo1" mce_style="@style/StyleTextInfo1"/>
                                        <EditText Android:id="@+id/userPwdET" Android:text="" Android:password="true" style="@style/StyleEditText1" mce_style="@style/StyleEditText1"/>
                                </TableRow>
                              
                                <TableRow >
                                        <TextView Android:id="@+id/commPwd" Android:text="@string/commPWD" style="@style/StyleTextInfo1" mce_style="@style/StyleTextInfo1"/>
                                        <EditText Android:id="@+id/commPwdET" Android:text="" Android:password="true" style="@style/StyleEditText1" mce_style="@style/StyleEditText1"/>
                                </TableRow>
                        </TableLayout>
                </LinearLayout>
              
                <LinearLayout Android:orientation="vertical" Android:layout_width="fill_parent" Android:layout_height="wrap_content">
                      
                                <LinearLayout Android:id="@+id/linearLayoutTab1" Android:layout_height="wrap_content"
                                        Android:layout_width="fill_parent" Android:orientation="horizontal">
                                      
                                        <LinearLayout Android:id="@+id/linearLayoutTab2" Android:layout_height="wrap_content"
                                                Android:layout_width="fill_parent" Android:orientation="horizontal" Android:layout_weight="1">
                                                <CheckBox Android:id="@+id/recordAcc"  Android:layout_width="wrap_content" Android:layout_height="wrap_content"/>
                                                <TextView Android:id="@+id/commPwd" Android:text="@string/saveUserAcc" style="@style/StyleTextInfo1" mce_style="@style/StyleTextInfo1"/>
                                        </LinearLayout>      
                                        <LinearLayout Android:id="@+id/linearLayoutTab2" Android:layout_height="wrap_content"
                                                Android:layout_width="fill_parent" Android:orientation="horizontal" Android:layout_weight="1">
                                              
                                                <CheckBox Android:id="@+id/hideAcc" Android:layout_width="wrap_content" Android:layout_height="wrap_content"/>
                                                <TextView Android:id="@+id/commPwd" Android:text="@string/ycUserAcc" style="@style/StyleTextInfo1" mce_style="@style/StyleTextInfo1"/>
                                        </LinearLayout>              
                                </LinearLayout>
                              
                        <LinearLayout Android:id="@+id/linearLayoutTab1" Android:layout_height="wrap_content"
                                        Android:layout_width="fill_parent" Android:orientation="horizontal">
                      
                                        <LinearLayout Android:layout_width="220px" Android:layout_height="wrap_content" Android:orientation="horizontal"
                                                Android:gravity="center">
                                              
                                                        <Button Android:id="@+id/confirmexch" Android:gravity="center" Android:layout_width="wrap_content"
                                                                        Android:layout_height="50px" Android:textSize="22dp" Android:text="@string/login" Android:layout_weight="1"
                                                                        Android:focusable="false" Android:textColor="@color/white" Android:background="@drawable/buttonl"/>
                                        </LinearLayout>
                              
                                        <LinearLayout Android:id="@+id/linearLayoutTab" Android:layout_height="wrap_content"
                                                Android:layout_width="fill_parent" Android:gravity="center">
                                                <ImageView Android:layout_width="wrap_content" Android:layout_height="50px" Android:id="@+id/myImage"/>
                                        </LinearLayout>
                </LinearLayout>
        </LinearLayout>
        </LinearLayout>
</ScrollView>
app_bottom.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout Android:id="@+id/appbottom" Android:orientation="vertical" Android:layout_width="fill_parent"
                Android:layout_height="wrap_content" Android:layout_alignParentBottom="true"
                xmlns:Android="http://schemas.Android.com/apk/res/Android">
              
        <LinearLayout Android:orientation="horizontal" Android:layout_width="fill_parent"
                Android:layout_height="wrap_content" Android:background="@drawable/light">
                <ImageView  Android:id="@+id/about" Android:layout_width="30px" Android:layout_height="wrap_content" Androidrc="@drawable/ttt"
                                Android:layout_alignParentLeft="true"/>
                <TextView Android:id="@+id/light" Android:layout_width="fill_parent" Android:layout_height="wrap_content" Android:textColor="@color/black"/>
        </LinearLayout>
      
        <LinearLayout Android:orientation="horizontal" Android:layout_width="fill_parent"
                Android:layout_height="wrap_content" Android:background="@drawable/mainmenu">
                <Button Android:id="@+id/quotButton" Android:layout_weight="1" Android:layout_width="52px" Android:layout_height="wrap_content"
                        Android:textColor="@color/white" Android:text="" Android:background="@drawable/button1"/>
                      
                <Button Android:id="@+id/entrustButton" Android:layout_weight="1" Android:layout_width="52px" Android:layout_height="wrap_content"
                        Android:textColor="@color/white" Android:text="" Android:background="@drawable/button1"/>
                <Button Android:id="@+id/queryButton" Android:layout_weight="1" Android:layout_width="52px" Android:layout_height="wrap_content"
                        Android:textColor="@color/white" Android:text="" Android:background="@drawable/button1"/>
                      
                <Button Android:id="@+id/yinZhengButton" Android:layout_weight="1" Android:layout_width="52px" Android:layout_height="wrap_content"
                        Android:textColor="@color/white" Android:text="" Android:background="@drawable/button1"/>
                      
                <Button Android:id="@+id/recordButton" Android:layout_weight="1" Android:layout_width="52px" Android:layout_height="wrap_content"
                        Android:textColor="@color/white" Android:text="" Android:background="@drawable/button1"/>
                      
                <Button Android:id="@+id/logoutButton" Android:layout_weight="1" Android:layout_width="52px" Android:layout_height="wrap_content"
                        Android:textColor="@color/white" Android:text="" Android:background="@drawable/button1"/>
        </LinearLayout>
</LinearLayout>
tradelogin_portrait.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout Android:layout_width="fill_parent" Android:layout_height="fill_parent" style="@style/StyleLayoutMain" mce_style="@style/StyleLayoutMain"
        xmlns:Android="http://schemas.Android.com/apk/res/Android">
      
        <!-- include标签内不能设置RelativeLayout属性,如Android:layout_alignParentBottom,因为不起作用 -->
        <!-- include标签内设置id属性后(Android:id),其的布局layout内的id属性就不起作用了,怀疑是其的layout外层包裹了一层include标签
                或者是覆盖了其内的属性id-->
        <!-- 如果没有include标签,所有布局代码都写在一个xml文件中,界面会显得很冗余,可读性很差。而且界面加载的时候是按照顺序加载的,前面的布局不能
                调用其后面的布局id。而采用include后,一个include中可以其后的include中的布局id属性 -->
        <include Android:id="@id/titleLayout" layout="@layout/app_title" />
        <include layout="@layout/app_tradelogin"/>
              
        <include layout="@layout/app_bottom"/>
      
</RelativeLayout>



喜欢0 评分0
游客

返回顶部