文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

解析android中include标签的使用

2022-06-06 10:35

关注

在一个项目中我们可能会需要用到相同的布局设计,如果都写在一个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_conten t"/>
    </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:t extColor="@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>

效果如下:

您可能感兴趣的文章:Android抽象布局——include、merge 、ViewStub详解Android编程之include文件的使用方法Android中使用include标签和merge标签重复使用布局android使用include调用内部组件的方法Android开发之merge结合include优化布局Android开发技巧之ViewStub控件惰性装载深入分析Android ViewStub的应用详解Android组件ViewStub基本使用方法详解Android布局技巧之include、merge与ViewStub标签的巧用


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯