Detect Android Navigation Bar orientation
android
Solution
By using the properties of the decor view in combination with the current DisplayMetrics you can find out on which side the navigation bar is positioned.
// retrieve the position of the DecorView
Rect visibleFrame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(visibleFrame);
DisplayMetrics dm = getResources().getDisplayMetrics();
// check if the DecorView takes the whole screen vertically or horizontally
boolean isRightOfContent = dm.heightPixels == visibleFrame.bottom;
boolean isBelowContent = dm.widthPixels == visibleFrame.right;
Problem
Is there a way to know where this Navigation Bar will be displayed for landscape : - on Nexus 7 it is at the bottom - on a Nexus 5 it is on the right