刚开始学使用LinearLayout的时候觉得weight很容易,按照比例就行了,但是项目中遇到一个问题让我对weight产生了新的认识,先看下我的问题:

红色的图片和文字”抢购”之间是有文字的,但是这个文字长度是不是固定的,但是抢购是在文字右边的….

这个时候使用weight就很简单了

一个水平向右的线性布局
最左边的图片
中间的文字 weight=1 width=wrap_content
右边的抢购文字

图片和抢购没有设置weight,绘图的时候会先把图片和抢购的文本框绘制出来然后把剩下的布局全用来绘制中间的文字

weight是剩余空间的分配系数
weight是剩余空间的分配系数
weight是剩余空间的分配系数

LinearLayout源码理解下:

if (childWeight > 0) {//remainingExcess  表示剩余空间  remainingWeightSum 表示剩余空间总系数 childWeight 分配系数//这句话表示子View获取剩余的空间final int share = (int) (childWeight * remainingExcess / remainingWeightSum);//剩余空间被瓜分走了一块remainingExcess -= share;//剩余空间总系数减少了一部分remainingWeightSum -= childWeight;final int childWidth;if (mUseLargestChild && widthMode != MeasureSpec.EXACTLY) {childWidth = largestChildWidth;} else if (lp.width == 0 && (!mAllowInconsistentMeasurement|| widthMode == MeasureSpec.EXACTLY)) {//如果你设置View宽度为0,那么实际显示的就是weight获取的剩余空间childWidth = share;} else {//否则实际显示的就是你分配的大小+weight获取的剩余空间childWidth = child.getMeasuredWidth() + share;}

LinearLayout weight使用技巧相关推荐

  1. android 高度上分权重,Android LinearLayout weight权重使用

    在日常的开发过程中,我们通常或多或少会使用到LinearLayout的weight属性来进行权重设置,进而达到按比例显示布局的意图 通常我们在使用时,会这样使用 android:layout_widt ...

  2. 计算机视觉(CV)-生成模型:WGAN【Lipschitz:Weight Clipping】--> WGAN-GP【Lipschitz:Gradient Penalty】

    深度学习-生成模型:WGAN[Lipschitz:Weight Clipping]--> WGAN-GP[Lipschitz:Gradient Penalty] 一.WGAN相比较GAN的改进点 ...

  3. 六大布局之LinearLayout

    1. 什么是Layout? Layout--界面布局,为应用程序提供界面架构.控制Activity中控件的大小.位置.颜色等属性的方法. Layout 与 ViewGroup的关系 ViewGroup ...

  4. 分享十次Android面试经验总结,已收字节,阿里,从三流Android外包到秒杀阿里P7,

    3.是不是任何线程都可以实例化Handler?有没有什么约束条件? 4.Looper.loop是一个死循环,拿不到需要处理的Message就会阻塞,那在UI线程中为什么不会导致ANR? 5.Handl ...

  5. 2018-2020-Android面试心得,题目精选已拿到offer-,现拿年薪40万

    -> perfromDraw() -> View/ViewGroup measure() -> View/ViewGroup onMeasure() -> View/ViewG ...

  6. 应该是史上最全最新Java和Android面试题目(自己总结和收集的)

    Android面试题目 Java 基础 int占用几个字节 讲一下常见编码方式? UTF-8编码下中文占几个字节 int和Interger的区别 int.char.long各占多少字节数 string ...

  7. 三年老Android经验面经,写给正在求职的安卓开发

    前言 面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责. 文末会给大家分享下我整理的Android面试专题及答案其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列 ...

  8. 太赞了!2021最新Android开发者学习路线,offer拿到手软

    前言 面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责. 文末会给大家分享下我整理的Android面试专题及答案其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列 ...

  9. 老牛不知所以然-html中超长文字单行省略对弹性盒子约束的破坏现象

    如果你不是从一个Android转过来写前端的,你不知道安卓程序员对html中弹性布局有多么钟爱.我使用它,最多的场景,是他可以当成安卓布局中LinearLayout + weight的方式,按照比例, ...

最新文章

  1. 用了 Lambda 之后,发现可以忘记设计模式了
  2. Shell命令-文件及目录操作之chattr、lsattr
  3. 云计算背后的秘密(3)-BigTable
  4. OpenCV高级拼接Stitcher类
  5. 海口只有阳光沙滩?错,人家还是“最佳智慧城市”
  6. IB component change - CL_IBCOMPONENT_IL~CHANGE_COMPONENT
  7. macbook图形化编程_如何判断MacBook使用的是哪种图形芯片(并进行切换)
  8. 计算机网络工程综合布线目的,浅谈网络工程综合布线系统
  9. tp1900芯片对比7621a_MT7621A和MT7620A两个芯片各有什么特点?
  10. 《工业设计史》第七章:艺术变革与现代设计
  11. Snagit 10 截图 虚拟打印机 【下载|注册码】
  12. 牛客网项目——项目开发(三):开发登录模块
  13. 马克思主义哲学笔记(四)
  14. 宣传一个非常好看的鼠标指针样式
  15. debian 7 安装 rz sz lrzsz
  16. 历史经验之js个200经验收藏
  17. 华为matebooke升级鸿蒙,由华为MateBook E引发的猜测:ARM+鸿蒙OS改变笔记本的未来...
  18. SQL Server 连接字符串和身份验证
  19. Transformer理解
  20. 学生动物网页设计模板下载 大学生宠物HTML网页制作作品 简单宠物狗网页设计成品 dreamweaver学生网站模板 (1)

热门文章

  1. Android 仿今日头条的开源项目
  2. 台式计算机用u盘给电脑安装系统,台式电脑用U盘安装Win10系统教程
  3. python实现面部特效_【AI美颜算法】300行Python实现基于人脸特征的美颜算法
  4. 使用js动态添加文本框 并在后台取文本框数据
  5. oracle_____对列的常用操作
  6. P2345 奶牛集会(树状数组/CDQ分治)
  7. PyTorch(一个快速灵活的深度学习框架)入门简介及安装方法
  8. java程序CPU使用率高可能的原因
  9. 什么情况下需要办理年度汇算?节选北京税务
  10. 从小故事带你理解零知识证明 | 区块链一千零一问