我正在使用ToolBar在Navigation Drawer中工作,在他们使用的大部分教程中 ScrimInsetsFrameLayout, 它用于什么目的可以解释breif?
我正在使用ToolBar在Navigation Drawer中工作,在他们使用的大部分教程中 ScrimInsetsFrameLayout, 它用于什么目的可以解释breif?
它是Googles iosched中首先出现的一组类的一部分(我认为)。谷歌已经提供了源代码 在GitHub这里。
值得下载并看看它。
ScrimInsetsFrameLayout有注释 - 在传递给{@link #fitSystemWindows(Rect)}的插图中绘制内容的布局,即UI chrome上方的区域 (状态和导航栏,叠加操作栏)。
如果您下载编译并安装应用程序,您可以看到DrawerLayout位于ToolBar上方和屏幕边缘。 ScrimInsetsFrameLayout允许您执行此操作。
您还可以看到ScrimInsetsFrameLayout扩展了FrameLayout,而FrameLayout又扩展了ViewGroup和View。 View有参考 setFitsSystemWindows 它允许您在使用ScrimInsetsFrameLayout的xml文件中设置android:fitsSystemWindows =“true”。
没有它你可以做DrawerLayout,但看起来很干净,并且匹配Googles Material Design的目标。