diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/browser/BaseUi.java | 3 | ||||
-rw-r--r-- | src/com/android/browser/TitleBarBase.java | 18 |
2 files changed, 21 insertions, 0 deletions
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 @@ public abstract class BaseUi implements UI, WebViewFactory { 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 @@ public class TitleBarBase extends RelativeLayout 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); |