现在有一个需求
<LinearLayout>
<FrameLayout >
--- <ImageView/>
--- <Button/>
</FragmeLayout>
</LinearLayout>
FrameLayout 的宽度是 wrap-content
ImageView的宽度是 wrap_content
Button的宽度 也是Math-parent的宽度
即外层宽度适配ImageView的宽度。 同时想让Button的宽度与FrameLayout的宽度一致
但是实际运行的时候 发现Button会把FrameLayout撑大。跟最外层的LinearLayout一样宽
为了解决这个问题,需要给Button在嵌套一层LinearLayout
http://stackoverflow.com/questions/4606613/combining-wrap-content-on-parent-and-fill-parent-on-child
In theory what you are describing should not work ("Because it the parent gets it's height from the childs and vice-versa".) However, we made it work in LinearLayout because it was a very common use case. I recently added similar support to FrameLayout (this feature should be part of Honeycomb.) What you are doing is therefore perfectly valid and will work just fine.