android weight(权重值) match_parent
来源:互联网 发布:java 线程间传递数据 编辑:程序博客网 时间:2024/05/20 07:36
weight:将父控件的剩余空间分配
其他不说直接进入重点,当多个子控件的width都为match_parent时的空间分配情况和算法
工具 android studio 2.3.3 Genymotion模拟器 android 4.0
代码
<TextView android:layout_width="match_parent" android:layout_height="40dp" android:text="one" android:background="#f0f" android:layout_weight="1" /><TextView android:layout_width="match_parent" android:layout_height="40dp" android:text="two" android:background="#00f" android:layout_weight="2" /><TextView android:layout_width="match_parent" android:layout_height="40dp" android:text="three" android:background="#f00" android:layout_weight="3" />效果图
这里的three不见了
控件的宽度公式
一共有6个权重值
来算一算one的分配公式
被设置weight值的控件,宽度应为该控件的原宽度+父控件的剩余控件*比例
one的宽度 = match_parent(原宽度)+(match_parent-(match_parent+match_parent+match_parent))*1/6
原宽度设为1 父控件设为1 有3个子控件都为match_parentone,占六分之一 这6是所有权重加起来
转换为数字就是
one的宽度 = 1+(1-(3))*1/6 = 2/3 计算过程自己领悟吧,我不教数学
所以one占2/3
two的宽度 = 1+(1-(3))*2/6 = 1/3
two占1/3
three的宽度 = 1+(1-(3))*3/6 = 0
three占0
所以three消失的原因,是屏幕没有地方给它
你们可以尝试把one的权重值设为3,而three的权重值设为1,运行看效果
----------------------------------------------------------------------------------------------------------------
再给大家一个公式
既然全部都是match_parent,而屏幕就只有一个,可以这么算 1-3 = -2match_parent
父屏match_parent - (子屏match_parent*3) = -2match_parent
父屏(1) - 子屏(3) = -2 先计算出-2
父屏(1) - 2*(权重比例) = 宽度
代入公式
one的宽度 = 1 - 2*(1/6) = 2/3
其他就不算了,如果大家不明白,请多看几遍,还是不明白,我也没有办法,我也是这么过来的,自己慢慢领悟吧,我为了弄明白这个知识点,我看过很多博客,以自己的方式写出来,分享给大家
附上分数计算器:http://zh.numberempire.com/fractionscalculator.php
- android weight(权重值) match_parent
- android基础 --- 权重(weight)
- Android weight权重适配
- android中权重属性(weight)
- Android线性布局权重Weight效果展示
- android weight(权重)的具体分析
- LinearLayout详解weight&&match_parent
- android之线性布局LinearLayout以及weight权重使用
- Android LinearLayout布局嵌套及权重weight的使用
- 小玩Android布局中的weight(权重)
- 关于 android 权重 weight在布局中的理解和使用
- Android自适应布局(关于权重weight的使用技巧!)
- 权重weight的使用
- LinearLayout的weight(权重属性)
- android match_parent
- Android 布局之LinearLayout 子控件weight权重的作用详析
- Android 布局之LinearLayout 子控件weight权重的作用详析
- Android 布局之LinearLayout 子控件weight权重的作用详析
- 希尔排序练习代码
- JAVA下载地址
- Linux内核模块开发
- React Native android -踩坑之路
- 软件平台与框架的生命周期
- android weight(权重值) match_parent
- TC716D2T3
- 机器学习知识点学习
- 23种设计模式之——Observer模式
- 相邻相间通道
- Android AlertDialog弹框
- Pycharm 的常用快捷键
- Java程序员如何培养自学能力?
- NSObject类中无法跳转控制器