I want to place the navigation panel (on the control panel (on the right), as shown below, using system soft keys such as back, home and menus, not the navigation box!) By editing AOSP.
+-------------------------------------------------+---+ | Status bar (always) | | +-------------------------------------------------+ N | | (Layout with background drawable) | a | | +---------------------------------------------+ | v | | | Title/Action bar (optional) | | | | +---------------------------------------------+ | B | | | Content, vertical extending | | a | | | | | r | | +---------------------------------------------+ | | +-------------------------------------------------+---+
So far, I am assuming that RenderSessionImpl.java is an editing file to accomplish this, since it displays a screen layout depending on a given screen orientation value.
I found the following snippet and edited the orientation parameter (HORIZONTAL → VERTICAL) so that it creates a horizontal layout with a navigation bar on the right.
if (mNavigationBarOrientation == LinearLayout.HORIZONTAL && mNavigationBarSize > 0) { // system bar try { NavigationBar navigationBar = new NavigationBar(context, hardwareConfig.getDensity(), LinearLayout.VERTICAL); // was LinearLayout.HORIZONTAL originallly navigationBar.setLayoutParams( new LinearLayout.LayoutParams( LayoutParams.MATCH_PARENT, mNavigationBarSize)); topLayout.addView(navigationBar); } catch (XmlPullParserException e) { } }
The original AOSP code snippets are below.
public Result inflate() { checkLock(); try { SessionParams params = getParams(); HardwareConfig hardwareConfig = params.getHardwareConfig(); BridgeContext context = getContext();
But the screen layout does not show the difference. Any understanding of this? Incorrect file for editing or incorrect logic? I know that this setting is not recommended, but I really need to do this.
source share