Android的layout分析
16lz
2021-01-23
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靠哪些东西能打败iphone
- Android UI学习 - ListView (android.R.layout.simple_list_item
- 今天学习到了那些东西
- golang1.11改了哪里东西
- 造了一个 Redis 分布锁的轮子,没想到还学到这么多东西!!!
- 就想写个爬虫,我到底要学多少东西啊?
- 三十天写三十个网站后,我学到的东西[每日前端夜话0x3C]
- 之所以被裁也许是少了这些东西 [每日前端夜话(0x0A)]