android的项目结构和布局介绍

一、项目的结构介绍:

每当创建一个项目时,会自动生成如下架构:


每层目录分别代表意思:

src:

src是用来保存Java源文件的目录。如上图包含有三个java的源代码文件

gen:


gen是用于保存Android自动生成的一个R.java的清单文件。

R文件是aapt工具根据应用中的资源文件自动生成的,即是一种应用的资源字典。

R文件的规则主要有如下二条:

1,每类资源对象R类的一个内部类。比如所有界面布局资源对应layout内部类;所有标识符资源对应于id内部类等待

2,每个具体的资源项对应于内部类的一个public static final int 类型的Field。


assets :包含应用系统需要使用到的诸如mp3、视频类的文件

bin :该目录用于存放生成的目标文件,如Java的二进制文件、资源打包文件(apk后缀)、R.java文件和Dalvilk虚拟机的可执行文件(.dex后缀)等。


libs :提供当前工程所依赖的jar包


res:


res:该项目里存放了android应用所用的全部资源,包括图片资源drawable、字符串资源strings、颜色资源color、尺寸资源dimens等。而且还包括layout的布局xml文件:

values-v11和v14代表不同安卓的版本,不同版本找对应的values的资源

drawable-hdpi、-ldpl、-mdpl、xhdpl、-xxhdpl代表不同分辨率的图片



AndroidManifest.xml 应用的清单文件

AndroidManifest.xml清单文件是每个Android项目都必需的,他是整个Android应用的全局描叙文件。AndroidManifesr.xml清单文件说明了该应用的名称、所使用图标,以及包含的组件和权限的赋予等。

通常会包含如下信息:

1,应用程序的包名,该包名将作为该应用的唯一标识。

2,应用程序所包含的组件。

3,应用程序兼容的最低版本。

4,应用程序使用系统所需的权限声明。

5,其他程序访问该程序所需的权限声明



二、布局介绍

1,线性布局

线性布局由LinearLayout类代表,布局里的组件会一个挨着一个排列起来,可以通过设置android:orientation属性设置个组件是纵向排序(vertical),还是横向排序(horizontal)。


2,表格布局

表格布局由TabkeLayout代表,表格布局采用行、列的形式来管理UI组件。TableLayout的行和列不需要声明,而是采用添加方法控制。

每次向TableLayout中添加一个TableRow,该TableRow就是一个表格行,也同样是容器,没往里面添加一个子组件就代表增加一列。在表格布局中,列的宽度由最宽的那个单元格决定,整个表格布局宽度取决于父容器的宽度。

3,帧布局

帧布局由FrameLayout所代表,FrameLayout直接继承了ViewGroup组件。帧布局为每个加入其中的组件创建一个 空白的区域(称为一帧),所以每个子组件占据一帧,这些帧会根据gravity属性执行自动对齐。

4,相对布局

相对布局由RelativeLayout代表,相对布局容器内子组件的位置总是相对兄弟组件、父容器来决定的,是最常用的一种布局。如果A组件的位置有B组件的位置来决定的,android会要求先定义B组件,再定义A组件。

相对应布局容器的属性:

相对于相对组件的属性:



5,绝对布局

决定布局由AbsolutLayout代表,绝对布局中android不会提供任何布局控制,直接由(x,y)的坐标来控制组件的位置。

使用决定布局时,每个子组件可以指定如下两个XML属性:(绝大部分不会使用绝对布局)

layout_x :指定该子组件的X坐标

layout_y: 指定该子组件的Y坐标


总结:多用相对布局和线性布局,少用绝对布局和帧布局。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值