什么是ScrimInsetsFrameLayout?

app*_*krb 13 android navigation-drawer android-5.0-lollipop android-toolbar

什么是 ScrimInsetsFrameLayout

我正在使用ToolBar在Navigation Drawer中工作,在大多数教程中他们使用ScrimInsetsFrameLayout,它使用什么目的可以解释breif?

Lon*_*ang 15

它是Googles iosched中首先出现的一组类的一部分(我认为).Google已经在GitHub上提供了源代码.

值得下载并看看它.

ScrimInsetsFrameLayout具有注释 - 在传递给{@link #fitSystemWindows(Rect)}的插图中绘制内容的布局,即UI chrome上方的区域(状态和导航栏,叠加操作栏).

如果您下载编译并安装应用程序,您可以看到DrawerLayout位于ToolBar上方和屏幕边缘.ScrimInsetsFrameLayout允许您执行此操作.

您还可以看到ScrimInsetsFrameLayout扩展了FrameLayout,而FrameLayout又扩展了ViewGroup和View.View引用了setFitsSystemWindows,它允许你在使用ScrimInsetsFrameLayout的xml文件中设置android:fitsSystemWindows ="true".

没有它你可以做Draw​​erLayout,但外观非常干净,并且与Material Design的Googles目标相匹配.