第一行代码-第三版 第五章 Fragment (下)

5.3 Fragment 的生命周期

5.3.1 Fragment 的状态和回调

  • 运行状态()
  • 暂停状态
  • 停止状态(进入停止状态的Fragment对于用户是完全不可见得,有可能被系统回收)
  • 销毁状态
    Activity中有的回调方法,Fragment中基本也有,不过Fragment还提供了一些附加的回调方法。
  • onAttach():当Fragment和Activity建立关联时调用
  • onCreateView():为Fragment创建视图(加载布局)是调用。
  • onActivityCreated():确保与Fragment相关联的Activity已经创建完毕是调用。
  • onDestroyView():当与Fragment关联的视图被移除时调用。
  • onDetach():当Fragment和Activity解除关联时调用。

注意:Fragment中也可以通过onSaveInstanceState()方法来保存数据。

5.4 动态加载布局的技巧

存在问题:为了让程序能够根据设备的分辨率或屏幕大小,在决定加载哪一个布局.。(在平板的上有双页模式,而手机只能显示一页内容)。如何让程序知道应该使用双页模式还是单页模式。

解决方法:使用限定符(qualifier
使用步骤:

  1. 增加新的res文件夹,命令layout-“限定符”。如:layout-lagre
  2. 编写对应大小的布局

常见的修饰符;

屏幕特征 限定符 描述
大小 small 提供给小屏幕设备的资源
大小 normal 提供给中等屏幕设备的资源
大小 large 提供给大屏幕设备的资源
大小 xlarge 提供给超大屏幕设备的资源
分辨率 ldpi 提供给低分辨率设备的资源(120dpi以下)
分辨率 mdpi 提供给中等分辨率设备的资源(120dpi~160dpi)
分辨率 hdpi 提供给高等分辨率设备的资源(160dpi~240dpi)
分辨率 xhdpi 提供给超高分辨率设备的资源(240dpi~320dpi)
分辨率 xxhdpi 提供给超超高分辨率设备的资源(320dpi~480dpi)
方向 land 提供给横屏设备的资源
方向 port 提供给竖屏设备的资源

5.4.2使用最小宽度限定符

最小宽度限定符(small-width qualifier):允许我们对屏幕的宽度指定一个最小值(以dp为单位),以这个值最为临界条件。

基本同上面的步骤:
layout-swXXXdp.如layout-sw600dp。
当程序运行在屏幕宽度大于600dp的设备时,加载layout-sw600dp文件夹下的布局文件,小于时:依然使用默认文件夹下面的布局文件。

发布了28 篇原创文章 · 获赞 11 · 访问量 2409

猜你喜欢

转载自blog.csdn.net/Y_an_Y/article/details/105576570