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