1.为托管UI fragment,activity必须做到:
在布局中为fragment的视图安排位置;
管理fragment实例的生命周期。
获取到Fragment的实例,并添加一个Fragment
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragment_container);
if (fragment == null) {
fragment = new CrimeFragment();
fm.beginTransaction()
.add(R.id.fragment_container, fragment)
.commit();//提交很重要
}
image.png
因为要升级支持库版fragment的话,我
们只需要下载升级包,重新编译发布一个新版本应用就行了。Google每年会多次更新支持库,并
借此引入新特性、修复bug。享受这些好处,我们只需要升级项目的支持库版本即可。
举个例子,Google自Android 4.2开始支持fragment嵌套使用(在fragment中托管fragment)。如
果开发基于Android操作系统内置版fragment,并且面向Android 4.0及以上版本的设备,应用就无
法使用这个新特性了。假如用了支持库版fragment,就能轻松升级应用的支持库版本,随意使用
fragment嵌套新特性,只要设备内存足够大。
此外,使用支持库版fragment没有显著的缺点。它和系统内置版本的代码实现几乎完全一样。
唯一的真正缺点就是导入支持库包会占用空间。不过考虑到上述诸多优点,牺牲几兆字节空间并
不算什么。
本书强调实用工程学,基于我们的应用开发实践,Android支持库堪称无冕之王。
不以layout_开头的属性作用于组件。组件实例化时,会调用某个方法按照属性及属性值进
行自我配置。
以layout_开头的属性则作用于组件的父组件。我们将这些属性统称为布局参数。它们会告
诉父布局如何在内部安排自己的子元素。











网友评论