android布局中高为0dp 权重为1是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android布局中高为0dp 权重为1是啥意思相关的知识,希望对你有一定的参考价值。

参考技术A

比如说有一个linearlayout他的高度是100

 a控件weight=1   b控件weight=2,c控件weight=3,d控件height=40,那么

a控件的高度就是 ((100-40)/(1+2+3)) *1

b控件的高度就是 ((100-40)/(1+2+3)) *2

c控件的高度就是 ((100-40)/(1+2+3)) *3

如果a不设置height=0dp,那么当a控件高度大于((100-40)/(1+2+3)) *1时,weight属性不起作用,设置等于0,那么weight属性什么时候都起作用。

       在学安卓过程中,一直想找一款应用能够展示各个章节的知识点,并且提供demo例子,就像谷歌android API Demo一样,google api demo例子太老了,都是外文,例子也不够丰富,还不能看源码,也没有文档。于是把自己学习安卓过程中的用到例子都整合在了一起,并把例子都写在了android学习手册中,希望想学安卓的java同胞们,能有一个好的例子参考,快速学习安卓,少走弯路。android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,不需要积分,文档都采用文档结构图显示,可以快速定位,度娘不让发链接,360手机助手中可下载。下面是android学习手册中,关于权重的演示。

android开发中常见布局的注意点

常见布局的注意点


线性布局:

  • 必须有一个布局方向 水平或者垂直
  • 在垂直布局中 只有左对齐 右对齐 水平居中生效
  • 在水平布局中 只有顶部对齐 底部对齐 垂直居中生效
  • 权重:组件按比例分配屏幕的剩余部分(即现先分配组件的长度 再按权重分配屏幕剩余的部分)所以使用权重的时候推荐设置组件的长度或宽度为0dp

相对布局:

  • 组件默认的位置都是左上角,组件之间可以重叠
  • 可以相对于父元素上下左右对齐,相对于父元素 水平居中 垂直居中,水平垂直同时居中
  • 可以相对于其他组件上下左右对齐
  • 可以布局与其他组件的上下左右

帧布局:

  • 组件默认位置都是左上角,组件之间可以重叠
  • 可以设置相对于符元素上下左右 设置水平居中,设置方法和线性布局相同

表格布局:

  • 每一个TableRow子节点代表一行,该节点的每一个子节点代表一列
  • 每一个TavleRow子节点的width默认是包裹内容的,不可更改,所以不需要设置
  • 每一个TableRow的子节点的宽度和高度都是包裹内容的,不可更改,所以不需要设置也行

绝对布局:

  • 由于android手机的分辨率的问题 绝对布局在适配手机的时候是不可想象的,因此相对布局几乎不用

 

以上是关于android布局中高为0dp 权重为1是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

android开发中常见布局的注意点

线性布局的权重究竟是怎么一回事

android编程中Item是啥意思

Android布局权重是怎样的

android开发笔记之权重(layout_weight)

Android ConstraintLayout 约束布局 Width 0dp constrainedWidth 百分比布局使用