Move navigation bar to right-hand-side of seascape.

This means the navbar will either be at the bottom (portrait
and reverse portrait) or the right (landscape and seascape)
irrespective of the physical bottom of the device.

Change-Id: Ib51cab22f246785c9cebcc688bcdb848eb776361
This commit is contained in:
Daniel Sandler
2011-05-31 15:46:13 -04:00
parent 9b4157935a
commit f86f898f8a
3 changed files with 9 additions and 3 deletions

View File

@@ -40,7 +40,7 @@
<!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
autodetected from the Configuration. -->
<bool name="config_showNavigationBar">false</bool>
<bool name="config_showNavigationBar">true</bool>
</resources>

View File

@@ -36,6 +36,8 @@ import com.android.internal.statusbar.IStatusBarService;
import com.android.systemui.R;
public class NavigationBarView extends LinearLayout {
final static boolean NAVBAR_ALWAYS_AT_RIGHT = true;
protected IStatusBarService mBarService;
final Display mDisplay;
View[] mRotatedViews = new View[4];
@@ -88,7 +90,9 @@ public class NavigationBarView extends LinearLayout {
mRotatedViews[Surface.ROTATION_90] = findViewById(R.id.rot90);
mRotatedViews[Surface.ROTATION_270] = findViewById(R.id.rot270);
mRotatedViews[Surface.ROTATION_270] = NAVBAR_ALWAYS_AT_RIGHT
? findViewById(R.id.rot90)
: findViewById(R.id.rot270);
}
@Override

View File

@@ -360,7 +360,9 @@ public class PhoneStatusBar extends StatusBar {
break;
case Surface.ROTATION_270:
// device has been turned 90deg clockwise
lp.gravity = Gravity.LEFT | Gravity.FILL_VERTICAL;
lp.gravity = (NavigationBarView.NAVBAR_ALWAYS_AT_RIGHT ? Gravity.RIGHT
: Gravity.LEFT)
| Gravity.FILL_VERTICAL;
break;
default:
lp.gravity = Gravity.BOTTOM | Gravity.FILL_HORIZONTAL;