Android开发学习------区分几个重要的xml文件

在Android开发的学习过程中,发现有很多的xml配置文件,目前所见的比较常用且容易混淆的有:nav_graph.xml、activity_main.xml、content_main.xml,下面做一些简单的区分:

  • 首先关于这些文件所在的目录,它们同属于res资源包下的不同目录,nav_graph.xml是在navigation包中,而activity_main.xml和content_main.xml同在layout布局包中,从这里可以发现,后两者属于一类xml文件
  • 那么什么是Navigation?它可以看作是Google对于之前Fragment某些方面的不满,重新搭建的一套管理Fragment的框架,且管理起来比较简单,但它将来又不一定仅限于导航Fragment
  • 再仔细观察nav_graph.xml的代码可以发现,它含有两对<fragment></fragment>标签,对应app中的两个碎片(页面)并包含它们的action即行为来实现页面的跳转
  • 而activity_main.xml这个文件的名字就很熟悉,在MainActivity.java文件中出现了ActivityMainBinding这一由视图绑定自动生成的类,它的命名就来自activity_main.xml这一文件名,而MainActivity.java这一文件主要用于设计应用程序主框架及其功能(也就是在任何页面都会显示的控件及其功能),activity_main.xml文件中也有在该类出现的Toolbar和fab的定义

因此可以认为该xml文件主要用于实现app主体框架的设计和相关功能

  • 最后来看content_main.xml,发现它只有一个在MainActivity.java中被通过id引用的fragment---
    nav_host_fragment_content_main:

该语句用于实现导航功能,到这里似乎还对这一xml文件的功能有点模糊,再看activity_main.xml文件中的一条语句:

也就是说activity_main.xml包含了content_main.xml,因此可以认为后者是用于除主体框架外的其他视图和功能设计,两者在一定程度上可以认为是同一个文件拆分成两个......

总的来说,nav_graph.xml文件主要用于声明碎片(页面)及其跳转,activity_main.xml文件包含(引用)了content_main.xml文件,前者主要用于程序主体框架的设计(比如菜单栏、出现于所有页面的控件等),后者主要用于其他的视图和控件设计(比如导航等)

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值