做 Android layout 达人
2011-01-11 07:28:32 来源:WEB开发网核心提示:Margin 系列 ,如 layout_marginLeft ,用于确定一个view外部,和它的相邻元素之间留出的空白区域layout_width 和 layout_height ,设置布局中元素的宽和高,一般设为以下两种值: fill_parent 和wrap_content,fill_parent 即填满paren
Margin 系列 ,如 layout_marginLeft ,用于确定一个view外部,和它的相邻元素之间留出的空白区域
layout_width 和 layout_height ,设置布局中元素的宽和高,
一般设为以下两种值: fill_parent 和wrap_content,
fill_parent 即填满parent中空白的区间, wrap_content 提供刚好能包裹内容的大小
下面谈谈从Android 2.2(后文简称2.2) 到 Android1.5(后文简称1.5) 的移植中, 涉及的Layout布局问题。
目前android 最新的版本是2.2 ,而市面上使用的手机有不少使用的是1.5版本,所以2.2下编写的应用不可避免地要移植到1.5,并完成测试。
大家一定很奇怪,直接将 2.2 下编写的应用放在 1.5 下运行难道不可以?
事实上,2.2下显示正常的界面布局在1.5下有可能发生变形走样的情况:
主要原因有可能是以下两种:
(1) 1.5下对Layout 嵌套层次有限制
当Layout 嵌套层次过多时(超过15层这样一个数量级),会发生页面崩溃的情况。解决方法是尽量减少layout的嵌套层次,去掉不必要的嵌套Layout。
(2) 1.5下对于RelativeLayout的支持并不好
特别是对于嵌套于内层的RelativeLayout,在解析的过程中有可能出现异常,
解决方法是,当出现这种情况时,用另外两种常用Layout的组合改写RelativeLayout,
幸运的是:一般情况下,用RelativeLayout能实现的布局效果,用 FrameLayout 和 LinearLayout的组合均能实现。
更多精彩
赞助商链接