android:layout_weight 属性

我的Android进阶之旅------>关于android:layout_weight属性的一个面试题 最近碰到一个面试题,按照下图,由Button和EditText组成的界面下厨布局代码,解决这题目需要使用android:layout_weight的知识。 首先分析上图所示的界面可以看成一下3个部分。 界面顶端的3个按钮。界面中间的EditText。界面底端的1个按钮。 其中第1部分和第3部分分别在界面顶端和底端显示,而第2部分的EditText充满了剩余的空间。如果想让 阅读详情

LinearLayout中包含有weight的child时,LinearLayout会measure两次。
假设当LinearLayout的布局方向为水平方向时,有三个TextView,其中textview1,textview2,textview3的layout_width和layout_weight分别为w1、a1,w2、a2,w3、a3。
屏幕宽度为w,各个textview宽度的计算方法如下:

第一次:textview1的measuredWidth为 w1,textview2为 w2,textview3为w3 (因为用了weight,所以linearLayout每次measure child时不考虑前一个已经占用的大小),total_width为 w1 + w2 + w3;

第二次:计算delta = w - total_width =  w - (w1 + w2 + w3)
然后会将
textview1的宽度设为width1 =  w1 + delta * a1 / (a1 + a2 + a3) = w1 + (w - (w1 + w2 + w3) ) * a1 / (a1 + a2 + a3)

同理可算得textview2和textview3的宽度width2,width3。

小技巧:

将LinearLayout中所有控件的layout_width设为0,则各个控件的宽度会按照layout_weight的比例显示。

如设 w1 = w2 = w3 = 0, 则 width1 = w * a1 / (a1 + a2 + a3) ,width2 = w * a2 / (a1 + a2 + a3) ,

width3 = w * a3 / (a1 + a2 + a3),width1 :width2:width3 = a1 :a2 :a3;

从零到一:龙芯杯参赛全攻略(含北理工学长经验PDF、B站培训视频与开源代码合集) 本文详细介绍了龙芯杯全国大学生计算机系统能力大赛的参赛全攻略,包括资源整合、技能树构建、团队协作和避坑指南。提供北理工学长经验PDF、B站培训视频与开源代码合集,帮助参赛者从零基础到站上领奖台。重点解析如何高效获取优质资源、避开新手常见陷阱及构建可落地的学习路径,助力普通学生系统学习CPU设计。 阅读详情

相关推荐

我从华为身上学到的项目管理经验 -- 需求篇

记录这三年,关于项目管理上的一些心得体会 – 需求篇对于需求,我们可以根据不同的角色、理解拆分成三个过程:简单来说就是:需求分析原始需求、 需求拆分为系统需求、 需求实现为功能需求**需求分析**: 将客户需求 输出成 需求描述。 需求经理需要把 需求 转换成 客户能够接受的 初始需求 IR(Initial Requirement) 对于用户来说,我只管提 我的原始需求是

minminzhe520的博客 3万+

android:layout_weight 属性怎么用,Android layout_weight 属性使用介绍

解释:layout_weight 参数为整型值 ,它的值用于指定父控件空闲空间的分配比例。下面举例说明下图中红色部分即为空闲空间 相关代码:android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"android:background="#ff0000"...

weixin_33817046的博客 554

告别ROS1思维:在ROS2 Humble上,用Python搞定MoveIt2机械臂控制的完整流程

本文详细介绍了在ROS2 Humble环境下使用Python控制MoveIt2机械臂的完整流程。从环境配置、架构变革到实战操作,涵盖URDF适配、Action接口编程及性能优化技巧,帮助开发者高效迁移ROS1项目至ROS2平台,实现工业级机械臂控制。

weixin_30352645的博客 451

使用weight属性时View宽度的计算方法

准确计算使用weight属性时View的宽度

南飞的孤雁 999

华为IC岗笔试刷题含答案(2)

又做了几套题,记录了部分及答案,如有错误,欢迎评论指正。

Ingrid的博客 1万+

机床联网系列总结

总结机床联网专栏,两个好用的工具介绍,以及后续提升的方法和建议。

若云流风的专栏 934

关于weight属性使用的一些细节

之前被这个属性困扰过好久,今天一个偶然的机会,终于把这个搞清楚了,现在与大家分享一下。 假设我们要在一个LinearLayout布局中显示两个按钮,button1和button2,button2的宽度是button1的二倍,正常情况下使用weight应该是这样的: <LinearLayout xmlns:android="http://schemas.android....

weixin_30389003的博客 359

CloudCompare 和 PCL:点云网格化分析与处理

点云网格化是将点云数据转化为规则网格的过程,其主要思想是将离散的点云投影到一个平面上,然后对该平面进行划分,形成一系列小区域。在点云网格化方面,PCL 提供了各种算法和工具,可以实现高效的点云网格化操作。以上示例代码中,首先加载了输入的点云数据,然后通过设置合适的网格化算法参数,如搜索半径和最大三角形边长等,执行了网格化操作,最后将网格化结果保存到输出文件中。以上示例代码中,首先加载了输入的点云数据,然后通过设置合适的网格化参数,如分辨率等,执行了网格化操作,最后将网格化结果保存到输出文件中。

TechPulseZ的博客 1293

textview设置 weight

LinearLayout.LayoutParams(int width, int height, float weight) Creates a new set of layout parameters with the specified width, height and weight.

amaomao123的专栏 1975

微信小程序 - 详细实现打开跳转第三方 H5 网页链接,在微信小程序内直接跳转打开第三方网站链接详细教程(支持跳转公众号文章等,直接复制代码即可)

小程序跳转h5,小程序-Taro小程序中打开h5页面链接,...小程序跳转h5链接(web-view)_微信小程序,小程序如何跳转h5页面,小程序跳转到第三方H5网页,微信小程序跳转第三方H5的方法,小程序-实现怎么跳转打开H5网页链接(或跳转至公众号文章,打开第三方网站,放校验文件,怎么配置业务域名,校验文件验证域名,把校验文件放到对面网站,别人的服务器也打不开没权限怎么放呢,勾选不校验合法域名,txt,打不开别人的网页怎么办,真机调试打不开,无法跳转,有什么其他办法不放校验文件吗,后台配置,怎么

🏆 前端领域优质创作者 3万+

Vue3 - 完美解决html2canvas截图不全问题,截图只截取当前可视区域导出图片不全,截屏导出的图片显示不全只有一部分或缺一块,vue3移动端H5网页项目使用html2canvas插件长截图!

vue3,html2canvas,移动端H5网页,截图不全,html2canvas长截图不全,保存长截图,页面滚动导致截图不全,网页下方截屏不到怎么办,底部一部分无法截屏到,保存的图片少了一大块,H5海报截图不完整,怎么截取滚动条下方的内容,截图图时图片不全,截图图片只有一半的问题,底部内容空白,截图空白问题的解决,截图不全怎么办,html2canvas.js网页截图功能(解决截图不全问题,移动端ios系统截图不完整,html2canvas截图太长又不能删减截取不到,使用HTML2Canvas在H5页面上实

🏆 前端领域优质创作者 1万+

Android之TextView详解

属性 详解 android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时...

226

全志F1C200S嵌入式驱动开发(lcd屏幕驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 lcd RGB屏幕作为比较经济、实用的显示工具,在实际场景中使用较多。它的信号来说,一般也比较简单,除了常规的数据信号,剩下来就是行同步、场同步、数据使能和时钟信号了。数据信号方面,常见的格式有RGB888、RGB666、RGB565。为什么有什么多选择,主要还是取决于soc pin脚的多少来定。当然,pin脚越多,显示的颜色就越精准,还原度就越高。 举例来说,假设

嵌入式-老费,一个分享专业嵌入式知识的blog 2796

android layout_width 属性,android:layout_weight属性详解

在android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非常重要,比如我们需要按比例显示。android并没用提供table这样的控件,虽然有TableLayout,但是它并非是我们想象中的像html里面的table那么好用,我们常用ListView实现table的效果,但是列对齐确比较麻烦,现在用Linear...

weixin_42299778的博客 8005

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

安卓开发技巧一:深入理解Android布局中Layout_weight的属性

今天开始将要为大家介绍一些安卓开发过程将要用到的一些技巧,这些技巧全部来自网络搜集,或者自己在企业做项目的时候总结出来的,利用这些技巧将会对我们开发带来非常方便的便捷性。 先来记录一下这一段时间的技巧目录,方便大家以后方便查阅(大概有不到三十种的技巧总结,大概每周分享两个技巧,笔者将尽可能写的详细,以及提供实例源码): 安卓开发技巧一:深入理解Android布局中Layout_weight的属

momocsdn 5512

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Android中 android:layout_weight 属性 完美解释

linearLayout中包含有weight的child时,linearLayout会measure两次:设屏幕宽度为X第一次:button1 的measuredWidth为X, button2也为X (因为用了weight,所以linearLayout每次measure chi

jincf2011的专栏 4万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Android中 android:layout_weight 属性

Android布局中 android:layout_weight 属性解释 http://schemas.android.com/apk/res/android"      android:orientation="vertical"      android:layout

jincf2011的专栏 3358

android:layout_weight属性详解

在android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非常重要,比如我们需要按比例显示。android并没用提供table这样的控件,虽然有TableLayout,但是它并非是我们想象中的像html里面的table那么好用,我们常用ListView实现table的效果,但是列对齐确比较麻烦,现在用Linear

asde1239的专栏 532

【Android】布局文件layout.xml文件使用控件属性android:layout_weight使布局较为美观,以RadioButton为例

android开发,控件属性layout_weight使用说明以及示例详解

m0_73954336的博客 1255

Android android:layout_weight属性

在使用linearLayout 嵌套时

m0_60352504的博客 475

关于android布局中android:layout_weight属性解惑

<br /><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/a1" android:l

疙疙瘩瘩Android 1768

Android 开发布局问题:android:layout_weight 属性不生效

Android 开发布局问题:android:layout_weight 属性不生效问题

weixin_52173250的博客 558

关于android:layout_weight属性使用注意事项

最近在用android:layout_weight属性来设置3个ScrollView在整个屏幕的显示比例,3个Scrollview里面的内容高度远远大于屏幕高度,刚开始是在ScrollView属性里面加了一句android:layout_weight来设置权重值,但是在480*8

安迪·潘 的专栏 5238

android:layout_weight属性学习

虽然这个android:layout_weight属性很怪异,但幸运的是我们达到了目标:   按比例显示LinearLayout内各个子控件,需设置android:layout_width="0dp",如果为竖直方向的设置android:layout_height="0dp"。在这种情况下某子个控件占用LinearLayout的比例为:本控件weight值 / LinearLayout内所有

LIANGXIAOYAN7002的专栏 558

Android LinearLayout的android:layout_weight属性

本文主要介绍Android LinearLayout的android:layout_weight属性意义   android:layout_weight为大小权重,相当于在页面上显示的百分比,它的计算是根据LinearLayout中所有相关元素的此属性值计算的。 除了已经固定大小的,其他设置了此属性的view所占大小(长度或高度)为自己layout_weight属性值/所有layout_we...

weixin_34302561的博客 219
上一篇: Android 实现多页界面左右滑动切换效果之进阶
下一篇: android raw与assets区别
codingbuddy
博客等级 码龄14年 4粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值