layout_weight属性

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

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

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

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

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

Android的R文件

Android 的R文件作用与manifest似乎是相似的,manifest文件将Java文件组织在一起,即使是不同包名而同名的Java文件,而R文件则会在编译后为所有的xml文件同一创建静态变量,便于Java文件使用,而组织方式类似于树型,所以我们可以使用同名而不同文件的组件而不会发生冲突,不同设备适配布局时,可以新建layout—large(具体形式查看官方文档)文件夹的方式,将同名的XML文件区分成平板与手机不同类型保存,达到自动适配效果。

Android中的module

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

Android 开发学习进程0.16 layout_weight属性 R文件关联XML Module的更多相关文章

  1. Android 开发学习进程0.28 腾讯TBS接入和相关问题

    TBS 的接入和使用 TBS 的接入 腾讯TBS是X5内核的升级版,可以当作webview 来打开 网页,可以以用来打开docx doc pdf 等文件,这里主要使用的是文件功能. 依赖接入 api ...

  2. Android 开发学习进程0.33 横竖屏切换

    安卓横竖屏大多数已经在manifest文件中将activity使用android:screenOrientation="portrait"属性写死,如简单的界面切换可直接更改为&q ...

  3. Android 开发学习进程0.14 Bindview recyclerview popwindow使用 window类属性使用

    BindView ButterKnife 优势 绑定组件方便,使用简单 处理点击事件方便,如adapter中的viewholder 同时父组件绑定后子组件无需绑定 注意 在setcontentview ...

  4. Android 开发学习进程0.12 自定义view activity的属性

    设置类似钉钉或tel的圆形用户名首字母头像 设置有两种方法,一是使用已有的库或自定义的view组件,但如果确定只是文字头像,也可使用textview的backgrou属性,调整资源文件使textvie ...

  5. Android 开发学习进程0.19 webview 的使用

    Android 中的webview android 中的webview是可以在app内部打开HTML等的网页,不必再打开浏览器,有两种实现方法,即webviewclient webChromeclie ...

  6. Android 开发学习进程0.15 adb cardview framelayout 控件设置状态获取焦点

    Android设备调试桥 即adb 使用adb进行无线调试的一些常用命令 adb tcpip 5555 设置调试端口为5555 防止冲突 adb shell ifconfig wlan0 查询局域网中 ...

  7. Android开发学习进程0.18 SharePreference的使用 AIDL

    SharePreference SharePreference是一种持久化存储手段,使用场景很多,如第一次打开时加载的用户协议等.适合小数据单进程的应用.将数据以键值对的形式存储在XML中. 使用方式 ...

  8. Android 开发学习进程0.17 Android资源文件selector textview显示两种不同字体

    selector 是安卓资源文件的一种,它可以使按钮等实现不同状态下的不同UI,不用在代码中实现,而使用方式有两种,一种在color文件下 创建.xml可以使按钮等字体在不同状态下的变化,其二是在dr ...

  9. Android 开发学习进程0.13 Androidstudio快捷键 xmlns

    xmlns XML namespace xml命名空间 其中主要是定义xml文件定义位置 前缀有三种,android app tools 后面为唯一标识符URI android 表示为引用自安卓系统 ...

随机推荐

  1. SpringBoot 接收前端参数的几种方式

    昨天和前端小伙伴在联调是碰到了参数接收不到的错误,我在postman上测试接口是正常的,但是与前端对接时就接受不到参数,请求方式都是get,但是问题就在于json  和 form-data 的区别!这 ...

  2. js 或Jquery操作定位元素

    属性过滤常用javascript后去DOM对象 id是定位到的是单个element元素对象,其它的都是elements返回的是list对象 1.通过id获取 document.getElementBy ...

  3. Substance Designer学习资料参考及学习入门感受

    先奉上大佬写的: 名称:Substance Designer 萌新入门流程 地址:https://zhuanlan.zhihu.com/p/56194917 作者:ShadowjackLeeSD小菜鸡 ...

  4. pom.xml文件中的parent标签

    基本概念 maven的核心就算pom.xm,使用maven是为了更好地帮项目管理包依赖.如果要引入一个jar包,需要在pom文件中加上 <dependency> <groupId&g ...

  5. shell脚本sql赋值

    以下脚本功能是用shell脚本登录sqlplus连接oracle,将执行sql语句查询的结果赋值给shell脚本中的变量 #!/bin/bash echo "开始连接数据库..." ...

  6. 微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示

    一.前言 项目中遇到的评分相关的需求其实还挺多.之前也写过网页中关于评分功能实现的文档.这次,是基于微信小程序开发而提炼出一个简单方便使用的方法,网页开发中同样可用.这次使用的还是字体,主要是字体这个 ...

  7. Windows电脑多个SSH Key管理.md

    笔者偏在阿里云,Github,开源中国上均存放一些私有项目代码,因此需要再Windows电脑上配置多个SSH Key 环境 操作系统:windows 7 Git 提示:Git 安装后就可以使用 Git ...

  8. 快速配置webpack+vue项目

    第一步:初始化项目 1.npm init 2. package name: (webpack+vue) webpackvue version: (1.0.0) description: this is ...

  9. 想理解JVM看了这篇文章,就知道了!

    前言 ​ 本章节属于Java进阶系列,前面关于设计模式讲解完了,有兴趣的童鞋可以翻看之前的博文,后面会讲解JVM的优化,整个系列会完整的讲解整个java体系与生态相关的中间件知识.本次将对jvm有更深 ...

  10. 台账建立和sqlite数据库的数据导入和导入问题

    principle platform command starts with "."; whiel sql command doesn't starts  with ". ...