Android中LinearLayout中权重的算法<深入理解>
2017-03-12 16:03
477 查看
权重(layout_weight):即为当前线性布局指定方向(水平、竖直)上剩余空间的一个分配规则。
情况一:当L中内部子控件(A,B)的宽度之和大于L的总宽度时,即(width_l-width_a-width_b)<0时,weight_a/(weight_a+weight_b)比例的值越大,当前控件所占空间越小。
情况二:当L中内部子控件(A,B)的宽度之和小于L的总宽度时,即(width_l-width_a-width_b)>0时,weight_a/(weight_a+weight_b)比例的值越大,当前控件所占空间越大。
虽然大家一般都是通用案例一那种分配,但是真真切切的了解一个属性、一个控件,收获还是满满的。希望对你们有帮助 :)
(转载来自:http://blog.csdn.net/itermeng/article/details/52159997)大家可以详细的去看一看
例:如水平方向上的线性布局LinearLayout控件L中,包含两个水平占用空间的控件A,B。 L控件:L控件宽度layout_width = width_l //屏幕的宽度 A控件:a控件宽度layout_width = width_a a控件权重layout_weight = weight_a B控件:b控件宽度layout_width = width_b b控件权重layout_weight = weight_b L中子控件最终占用宽度 = 原有宽度(width_a)+剩余空间分配量 A所占宽度 = width_a + (width_l-width_a-width_b)*weight_a/(weight_a+weight_b) B所占宽度 = width_b + (width_l-width_a-width_b)*weight_b/(weight_a+weight_b)
情况一:当L中内部子控件(A,B)的宽度之和大于L的总宽度时,即(width_l-width_a-width_b)<0时,weight_a/(weight_a+weight_b)比例的值越大,当前控件所占空间越小。
情况二:当L中内部子控件(A,B)的宽度之和小于L的总宽度时,即(width_l-width_a-width_b)>0时,weight_a/(weight_a+weight_b)比例的值越大,当前控件所占空间越大。
虽然大家一般都是通用案例一那种分配,但是真真切切的了解一个属性、一个控件,收获还是满满的。希望对你们有帮助 :)
(转载来自:http://blog.csdn.net/itermeng/article/details/52159997)大家可以详细的去看一看
相关文章推荐
- Android 源码系列之<四>从源码的角度深入理解LayoutInflater.Factory之主题切换(上)
- Android 源码系列之<五>从源码的角度深入理解LayoutInflater.Factory之主题切换(中)
- Android 源码系列之<六>从源码的角度深入理解LayoutInflater.Factory之主题切换(下)
- Android 源码系列之<二>从安全的角度深入理解BroadcastReceiver(上)
- Android 源码系列之<三>从安全的角度深入理解BroadcastReceiver(下)
- Android 源码系列之<一>从源码的角度深入理解ImageView的ScaleType属性
- Android 源码系列之<九>从源码的角度深入理解Activity的launchModel特性
- Android 源码系列之<十四>从源码的角度深入理解LeakCanary的内存泄露检测机制(下)
- Android 源码系列之<十一>从源码的角度深入理解AccessibilityService,打造自己的APP小外挂(下)
- Android 开发过程中遇到了一个问题 小记录一下 ERROR: In <declare-styleable> BorderLinearLayout, unable to find attribu
- Android 源码系列之<八>从源码的角度深入理解缓存策略之LruCache
- Android 源码系列之<七>从源码的角度深入理解IntentService及HandlerThread
- Android 源码系列之<十>从源码的角度深入理解AccessibilityService,打造自己的APP小外挂(上)
- <Android>LinearLayout比例设置
- Android 源码系列之<一>从源码的角度深入理解ImageView的ScaleType属性
- Android 源码系列之<十三>从源码的角度深入理解LeakCanary的内存泄露检测机制(中)
- Android ApiDemos示例解析(147):Views->Layouts->LinearLayout->7. Fill Parent
- <<深入理解linux内核>>读书笔记 (一): 内存寻址
- Android学习<LinearLayout, FrameLayout, RelativeLayout>
- Android ApiDemos示例解析(150):Views->Layouts->LinearLayout->10. Background Image