Fragment : 是Android3.0开始新增的概念,百度翻译 : 碎片;片段;分段;片断;断章。Fragment是依赖于Activity的,不能独立存在的。
很抽象吧, 这就是理论, 但是它有存在的实际意义. 比如: 如果要你跟一个从没有见过大海的人描述大海是什么样的, 海水的味道, 迎面海风的感觉, 那么你会写下什么样的文字来描述大海, 海水和海风呢?
其实,人类的进化,在我看来实际就是学习的进化,(从习随到模仿,从模仿到类比,从类比到仿生,从仿生到创造). 就Fragment而言: 如果我们将Activity看成是一篇美妙的文章, 那么Fragment我们就可以看做事文章中的段落; 又如果我们将Activity看成是一个日记本(日记容器),那么Fragment就是一篇篇的日记, 这时就像是二级分类那样, 每篇日记有它独有的日期,星期,天气, 我们把这看成是Label, 那么日记的内容我们就顺其自然的看成是每篇日记的实际内容了,这样看来Fragment到底是什么呢?
我自己做了个定义
Fragment: 亦View亦Container, 有着自己的生命周期并依附于Activity存在的一个类.
亦view:
- getSupportFragmentManager().findFragmentById(R.id.home_frag);
- getSupportFragmentManager().findFragmentByTag(HomeFragment.class.getSimpleName());
亦Container:
@Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.first_frag, container, false); }
生命周期:
纸上得来终觉浅,绝知此事要躬行; 说多了也是左耳进右耳出, 下面有个DEMO, 自己动手测试下就OK了. ^_^
再附上其他大牛的理论做教科书: Android Fragment 真正的完全解析(上)Android Fragment 真正的完全解析(下)Android Fragment详解
DEMO传送门: App首页框架及Fragment生命周期