如何将左侧导航栏放在状态栏后面? - SystemUI - Android - AOSP
How to place Left Navigation Bar behind Status Bar? - SystemUI - Android - AOSP
我在 Android AOSP 项目中使用 TYPE_NAVIGATION_BAR_PANEL 将底部导航栏自定义为左侧导航栏。但问题是它与状态栏重叠。需要将导航栏放在状态栏后面。
我认为这是故意的。 StatusBar 的层类型低于导航类型。这意味着导航视图在 StatusBar 的前面。
/**
* Window type: the status bar. There can be only one status bar
* window; it is placed at the top of the screen, and all other
* windows are shifted down so they are below it.
* In multiuser systems shows on all users' windows.
*/
public static final int TYPE_STATUS_BAR = FIRST_SYSTEM_WINDOW;
.....
/**
* Window type: Navigation bar (when distinct from status bar)
* In multiuser systems shows on all users' windows.
* @hide
*/
public static final int TYPE_NAVIGATION_BAR = FIRST_SYSTEM_WINDOW+19;
作为一个走动,您可以修改导航栏的布局参数。您可以将 y 设置为 getStatusBarHeight()
并将重力设置为 Gravity.BOTTOM
- 从未测试过。
我在 Android AOSP 项目中使用 TYPE_NAVIGATION_BAR_PANEL 将底部导航栏自定义为左侧导航栏。但问题是它与状态栏重叠。需要将导航栏放在状态栏后面。
我认为这是故意的。 StatusBar 的层类型低于导航类型。这意味着导航视图在 StatusBar 的前面。
/**
* Window type: the status bar. There can be only one status bar
* window; it is placed at the top of the screen, and all other
* windows are shifted down so they are below it.
* In multiuser systems shows on all users' windows.
*/
public static final int TYPE_STATUS_BAR = FIRST_SYSTEM_WINDOW;
.....
/**
* Window type: Navigation bar (when distinct from status bar)
* In multiuser systems shows on all users' windows.
* @hide
*/
public static final int TYPE_NAVIGATION_BAR = FIRST_SYSTEM_WINDOW+19;
作为一个走动,您可以修改导航栏的布局参数。您可以将 y 设置为 getStatusBarHeight()
并将重力设置为 Gravity.BOTTOM
- 从未测试过。