Что такое ScrimInsetsFrameLayout?

Что такое ScrimInsetsFrameLayout

Я работаю в навигационном ящике с помощью 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.