第四章:手机平板要兼顾-探究碎片

碎片是什么?

碎片(Fragment)是一种可以嵌入在活动(Activity)中的 UI 片段,它能让程序更加合理和充分的利用大屏幕的空间,因而在平板上应用的非常广泛。

碎片的使用方式

  1. 静态嵌入
  2. 动态加载

碎片和活动之间的通信

  1. 在活动中获取碎片:RightFragment rightFragment = (RightFragment) getSupportFragmentManager().findFragmentById(R.id.right_fragment);
  2. 在碎片中获取活动:MainActivity mainAcitivity = (MainActivity) getActivity();
  3. 在碎片中获取其他碎片:现在碎片中获取当前碎片所在活动,再从活动中获取其他碎片

碎片的声明周期

http://on7k7tk7h.bkt.clouddn.com/5310f8b3861cf4471e6ba7d6ecf8afbe.jpeg

动态加载布局的技巧

使用限定符(Qualifiers):

  1. 大小:small, normal, large, xlarge
  2. 分辨率:ldpi(低分辨率,120 dpi 以下), mdpi(中等分辨率,120 - 160 dpi), hdpi(高分辨率,160 - 240 dpi), xhdpi(超高分辨率,240 - 320 dpi), xxhdpi(超超高分辨率,320 - 480 dpi)
  3. 方向:land(横屏设备), port(纵屏设备)

举例:最小宽度限定符,例如:layout-sw600dp,则当屏幕宽度大于 600 dp 时加载该文件夹下的布局文件,否则加载 layout 文件夹下的布局文件。

源码

源码见:https://github.com/optor666/first-line-code-of-android/tree/master/chapter04

posted @ 2018-04-22 13:04  optor  阅读(193)  评论(0编辑  收藏  举报