Я работаю в навигационном ящике с помощью ToolBar. В большинстве руководств они используют ScrimInsetsFrameLayout,
Для какой цели он может использовать любой, объясните breif?
Ответ 1
Это часть набора классов, которые появились сначала (я думаю) в Googles iosched. Google предоставил исходный код в GitHub здесь.
Его стоит скачать и взглянуть на него.
ScrimInsetsFrameLayout имеет комментарий - макет, который рисует что-то в вставках, переданных в {@link #fitSystemWindows (Rect)}, то есть область выше UI-хром
(статусные и навигационные панели, панели перекрытия).
Если вы загружаете компиляцию и устанавливаете приложение, вы можете видеть, что DrawerLayout находится над панелью инструментов и к краям экрана. ScrimInsetsFrameLayout - это то, что позволяет вам это делать.
Вы также можете увидеть, что ScrimInsetsFrameLayout расширяет FrameLayout, который, в свою очередь, расширяет ViewGroup и View. View ссылается на setFitsSystemWindows, который позволяет вам установить android: fitsSystemWindows = "true" в XML файле, где вы используете ScrimInsetsFrameLayout.
Вы можете делать DrawerLayout без него, но внешний вид очень чистый и соответствует целям Googles для Material Design.