fix titlebar position when focused
Change-Id: Ia84990a68652bd4679be2f72446aa166f7729c7c
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 5daf17a..e661087 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -453,6 +453,9 @@
if (web != null) {
web.setTitleBarGravity(gravity);
}
+ // update the titlebar layout params
+ // required to avoid scroll to top when focused
+ getTitleBar().setTitleGravity(gravity);
}
@Override
diff --git a/src/com/android/browser/TitleBarBase.java b/src/com/android/browser/TitleBarBase.java
index 93610e2..14ca554 100644
--- a/src/com/android/browser/TitleBarBase.java
+++ b/src/com/android/browser/TitleBarBase.java
@@ -152,6 +152,24 @@
mSkipTitleBarAnimations = skip;
}
+ void setTitleGravity(int gravity) {
+ int newTop = 0;
+ if (gravity != Gravity.NO_GRAVITY) {
+ View parent = (View) getParent();
+ if (parent != null) {
+ if (gravity == Gravity.TOP) {
+ newTop = parent.getScrollY();
+ }
+ }
+ }
+ AbsoluteLayout.LayoutParams lp = (AbsoluteLayout.LayoutParams)
+ getLayoutParams();
+ if (lp != null) {
+ lp.y = newTop;
+ setLayoutParams(lp);
+ }
+ }
+
void show() {
if (mUseQuickControls) {
mParent.addView(this);