Android的layout分析
16lz
2022-03-07
Android有六种layout, framelayout,linearlayout, tablelayout, relativelayout等等 (http://developer.android.com/resources/tutorials/views/index.html)
1. 对于各个layout的一些属性,一直有些困惑。比如match_parent的parent是指什么; 顾名思义,它指明要填满父控件,看上去很简单。但在实际应用中你会发现,会有很多复杂的情况出现。举个例子,当一个linearlayout的两部分都是match_parent,那么这两个部分最终各占多少呢?当加上了layout_weight后呢?
没有深入研究过layout的实现代码。经过一段时间的观察,个人感觉可以把match_parent和wrap_content分别看成外扩和内拉弹簧。
拿match_parent来说,这种弹簧会让整个框在可能的情况下尽量向外fill剩余空间(当然它会和其它东西发生阻力,最终达到平衡);而wrap_content则相反,它会尽力地内缩,紧紧包裹住框内的东西。
2. layout可以看成外框(透明的),而textview之类的是框内的具体实物
3. 严格来讲,layout种类是无数的,比如StatusBarview就是对framelayout的扩展。layout本身是viewgroup,它框住众多的views.
更多相关文章
- Android做的第一个小程序
- Android(安卓)SDK 安装笔记
- [置顶] 谈谈怎么最快学好android
- 谈谈怎么最快学好android
- Android必须要掌握的东西
- android +ubuntu9.10+eclipse-java-galileo-SR1-linux-gtk.tar.g
- android一个很恶心的东西
- Android靠哪些东西能打败iphone
- Android中常用的五种布局