碎片基础
1.碎片的简单介绍
碎片是一种可以嵌入到活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,同时又可以动态的改变同个活动某个片段的内容,所以在平时项目中这是最基础的一个知识点,因为大多客户端都需要使用到导航栏,而每个导航栏控件对应的内容就是我们所说的碎片。
2.碎片的使用方式
2.1碎片的简单用法
1)建立碎片的布局
再建一个right——fragment
2)建立碎片的实例(加载布局和加监听器的,或者是说对你碎片的控件进行处理的对象 )
3)将碎片作为空间导入activity布局
4)在acitivity使用该布局
效果图:
2.2动态添加碎片
1)创建碎片布局和实例
2)在activty布局中使用FrameLayout控件而不是fragment
3)在activity进行动态加载碎片
说明:
注意:如果按照上面的处理,我们按了back键程序就是直接退出,如果我们想要返回我们被取代的碎片的那个
状态,我们可以在以上的基础之后加一行代码,具体如下:
2.3 碎片和活动之间进行通信
1)在活动中获得碎片,进而可以使用碎片中的方法
2)在碎片中获取绑定其的活动,进而使用在活动中的方法
3)在同个活动中的碎片进行通信
思路:现在某个碎片中获取到activity,然后又利用该activity获取另一个碎片,从而形成通信。
3.碎片的生命周期
3.1碎片的状态
3.2回调方法
因为其和activity极其相似,所以activity有的回调方法这边都有,所以下面就说说一些碎片特殊的回调方法:
具体周期如下:
4.动态加载布局的技巧
4.1使用限定符
核心思想:其实就是创建多一个layout文件,但是名字要为"layout-限定符",然后在里面创建同样的一个布局文件,系统就是根据你的设备选择合适的布局文件(名一样的多个布局文件选一个)。
4.2使用最小宽度限定符
例子:
在res目录下新建layout-sw600dp文件夹,然后建立相同的布局
结果:
系统如何进行选择合适的布局,当程序运行在屏幕宽度大于600dp的设备上时,就会加载layout-sw600dp的布局文件,当程序运行在屏幕宽度小于600dp时,则仍然加载默认的layout里面的布局文件
5.碎片的最佳实践——一个简易版的新闻应用