状态栏上的自定义视图

时间:2018-01-06 20:58:53

标签: android android-notifications facebook-messenger

Facebook Messenger在恢复应用时会显示此视图几秒钟(它还会隐藏状态栏图标)。有谁知道怎么做?

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要使用WindowInsets (SDK >= 20)来获取StatusBar的高度。创建一个FrameLayout,应用LayoutParams(MATCH_PARENT, statusBarHeight)。将布局背景颜色设置为colorPrimaryDark。

使用方法setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN)隐藏状态栏。

要添加状态文本,请创建LinearLayout,应用LayoutParams(WRAP_CONTENT, MATCH_PARENT, Gravity.CENTER_HORIZONTAL)Orientation = HORIZONTAL并添加Canvas和TextView。

最后,将LinearLayout添加为FrameLayout的子项,并将FrameLayout添加为主布局的第一个子项。