Android 开发学习进程0.16 layout_weight属性 R文件关联XML Module

layout_weight属性

layout_weight属性咱们经常用到,但有时候会发现它还有一些奇怪的属性,好比大多数使用时会把宽度设置成0,但要是宽度不设置成0会有什么效果?android

layout_weight的属性意义为权重大于零的控件会分配剩余控件eclipse

意义为如控件属性设置为wrap_content时,如一个控件内容为“123”,另一个为“123456”,二者同时设置相同的权重,后者大小会比前者大,是因为先分配内容空间,后为两控件设置剩余空间。模块化

当layout_width设置为match_parent时权重大的反而小布局

这也是颇有意思的一点,如两个空间宽度都设置为适配父容器,此时空间的剩余大小即为总宽度减去两个总宽度,从而为负值,所以权重越大的组件分配的负空间越小,致使权重大的组件反而显示的比权重小的空间小。gradle

Android的R文件

Android 的R文件做用与manifest彷佛是类似的,manifest文件将Java文件组织在一块儿,即便是不一样包名而同名的Java文件,而R文件则会在编译后为全部的xml文件同一建立静态变量,便于Java文件使用,而组织方式相似于树型,因此咱们可使用同名而不一样文件的组件而不会发生冲突,不一样设备适配布局时,能够新建layout—large(具体形式查看官方文档)文件夹的方式,将同名的XML文件区分红平板与手机不一样类型保存,达到自动适配效果。spa

Android中的module

刚使用Androidstudio必定会为module所困惑,module能够理解为组件,与传统的eclipse不一样的是,在Androidstudio中能够将workspace理解为project,而eclipse中的project则为module,但与eclipse不一样的是,Androidstudio中的各个组件既分离又有关联,module能够经过配置gradle和manifest方式设置单独启动,甚至能够设置开关来选择那个启动,也能够添加依赖使相关的module互相使用,这就使模块化成为可能,在大型项目中,能够将项目类似的、都须要的baseadapter、baseactivity、basepresenter相关方法抽离出来,单独设置为一个module重复使用,也能够将相似的布局或大部分页面都会使用的基本方法如HTTP请求,支付接口,基本组件使用设置为一个module,提升复用率和开发效率,也使得项目文件结构清晰,便于二次开发。xml

相关文章
相关标签/搜索