解析android中include标签的使用
发布时间:2022-08-17 06:59:59
标签:android,nclude,签
在一个项目中我们可能会需要用到相同的布局设计,如果都写在一个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>
效果如下:


猜你喜欢
- java list,set,map,数组间的相互转换详解1.list转setSet set = new HashSet( new Array
- 在 Java 中,LinkedList 和 ArrayList 的性能是不同的,具体取决于你所需要的操作。对于频繁的插入和删除操作,Link
- 在开始本文前先考虑以下一个问题在不使用任何带有自动补全功能IDE的情况下,如何获取一个数组的长度?以及,如何获取一个字符串的长度?这个问题我
- 一. 接口文档概述swagger是当下比较流行的实时接口文文档生成工具。接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端
- 今天在线上发现一个问题,在使用Jackson进行时间的反序列化时,配置的 @JsonFormat 没有生效查看源码发现,Jackson在反序
- 大家是不是平常都有好多文件需要定期备份?如歌曲、视频、文档,代码文件等等,如果经常增加删除修改文件,就需要定期备份,最早之前文件都不大的时候
- 摘要在生产环境下,我们需要关闭swagger配置,避免暴露接口的这种危险行为。方法禁用方法1:使用注解 @Value() 推荐使用packa
- java中Path是什么?在计算机上安装Java后,需要设置PATH环境变量以便从任何目录方便地运行可执行文件(javac.exe,java
- 详解 Java中日期数据类型的处理之格式转换的实例概要:日期以及时间格式处理,在Java中时间格式一般会涉及到的数据类型包括Calendar
- 需求最近小编的项目中出现了很多feign 调用出现 Read Time out 的异常,但因为没有集成链路追踪的第三方框架,查不到原因。所以
- JVM与DalvikAndroid应用程序运行在Dalvik/ART虚拟机,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。Dal
- 前言最近在做项目的时候,有个需求就是实现自动轮播式的ViewPager,最直观的例子就是知乎日报顶部的ViewPager,它内部有着好几个子
- Lambda用到了JDK8自带的一个函数式接口Comparator<T>。准备一个Apple类public class Appl
- 一般学过C#的都知道,Array 一旦定义好,比如四个长度,当需要再往里面添加元素的时候,需要Array.Resize一下才可以。有鉴于此,
- 界面效果图如下:报表界面说下关键代码 需要开启 Windows Management Instrumentation服务(默认已经
- 有时候数据库文档需要整理,可是只能手动的复制粘贴,心中一万只草泥马奔腾而过。。。screw简洁好用的数据库表结构文档生成工具。1. 创建项目
- 1.线程状态(生命周期)一个线程在给定的时间点只能处于一种状态。线程可以有如下6 种状态:New (新创建):未启动的线程;Runnable
- 前言相信大家对Android悬浮窗应该是很熟悉了,比如说腾讯视频、爱奇艺等APP都有悬浮窗功能。在你打游戏的同时还可以看视频,充分利用屏幕空
- 首先设定TextView的clickable属性为true。可以在布局文件中进行设定,比如:<TextViewandroid:id=&
- 解决Android调用系统分享图片给微信,出现分享失败,分享多文件必须为图片格式近期应公司需求,分享多图片到微信的功能,之前一直是用微信自己