关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 安卓开发 »Android include标签方法浅析

    Android include标签方法浅析

    2015-03-07 00:00:00 出处:codeceo
    分享

    本文将介绍在Android中如何使用include标签来更便捷地重用布局代码,从而减少冗余的Android代码。

    在一个Android项目中我们可能会需要用到相同的布局设计,假如都写在一个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" android:stretchColumns="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" android:src="@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>

    效果如下:

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    Edge浏览器百度被劫持/篡改怎么办,地址后边跟着尾巴#tn=68018901_7_oem_dg

    Google Chrome 在 iPhone 上新增了 Safari 数据导入选项

    Windows 11专业版 KMS工具激活产品密钥的方法

    DEDECMS安全策略官方出品

    Microsoft Text Input Application 可以关闭吗?

    新版本QQ如何关闭自带的浏览器?

    C++编程语言中continue的用法和功能,附举例示范代码

    c++ map 的数据结构、基本操作以及其在实际应用中的使用。

    C语言如何避免内存泄漏、缓冲区溢出、空指针解引用等常见的安全问题

    C语言中的break语句详解

    IT头条

    马斯克2026最新采访总结:2040年,全球机器人数量将突破100亿台

    23:52

    专家解读|规范人工智能前沿业态健康发展的新探索:解读《人工智能拟人化互动服务管理暂行办法》

    00:54

    用至强 6高存力搞定MoE卸载!

    17:53

    美国将允许英伟达向中国“经批准的客户”出售H200 GPU

    02:08

    苹果与微信就15%手续费达成一致?腾讯未置可否

    22:00

    技术热点

    PHP 和 Node.js 的10项对比挑战

    Javascript闭包深入解析及实现方法

    windows 7、windows 8.1手动增加右键菜单功能技巧

    MYSQL出错代码大汇总

    windows 7假死机怎么办 windows 7系统假死机的原因以及解决方法

    Ubuntu(Linux)下配置IP地址的方法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。