Tre*_*art 0 android android-layout
我认为fill_parent有很大的价值,我想自己实现它,所以我可以做的不仅仅是填充剩余的空间(例如:填充80%的剩余空间等)
fill_parent实际上如何在引擎盖下工作?如何计算剩余空间,它如何在运行时工作等.
我在过去做过类似的事情,fill_parent根据当前的屏幕大小,元素应该占用的屏幕大小等来计算元素应该占用的空间等等.但我想知道Android是如何做到的与fill_parent.
尝试创建自定义View或ViewGroup,您会发现.
将视图带入屏幕有3个阶段:
在衡量中,父母告诉孩子有多少空间可用.它可以针对childs布局参数执行此操作.因此,如果孩子说match_parent(fill_parent已弃用),父母将传递其自己的大小或剩余空间(大部分时间......)
然后孩子接受可用的尺寸,电话setMeasuredDimenstion(allTheSpaceIGot)和那个为你量身定做的.
在布局过程中,父母会检查孩子的测量尺寸.然后相应地设置儿童界限(顶部,左侧,底部,右侧).
最后在onDraw中,每个孩子都在自己的范围内.
总结一下:
如果你想为视图分配60%,你应该看看创建一个自定义ViewGroup(因为那是谁实际决定了孩子的维度)
我还写了一篇关于自定义视图的博客文章,详细介绍了如何创建自定义布局.
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |