summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2011-04-27 10:11:03 -0700
committerJohn Reck <jreck@google.com>2011-04-27 10:11:03 -0700
commitadc921feeb327ed118711d4abddfaa421c841290 (patch)
tree832c46a6429f9e48bc60516023e5adde01676681 /src
parent355f30adc34c4654a734a0e666aae420c0a55d82 (diff)
downloadandroid_packages_apps_Gello-adc921feeb327ed118711d4abddfaa421c841290.tar.gz
android_packages_apps_Gello-adc921feeb327ed118711d4abddfaa421c841290.tar.bz2
android_packages_apps_Gello-adc921feeb327ed118711d4abddfaa421c841290.zip
Smoother animations please
Change-Id: Ie27fef1678f758bdaf43f90d5baeabdeef3b9f83
Diffstat (limited to 'src')
-rw-r--r--src/com/android/browser/NavScreen.java4
-rw-r--r--src/com/android/browser/PhoneUi.java24
2 files changed, 22 insertions, 6 deletions
diff --git a/src/com/android/browser/NavScreen.java b/src/com/android/browser/NavScreen.java
index edbaa3be..c61c39f6 100644
--- a/src/com/android/browser/NavScreen.java
+++ b/src/com/android/browser/NavScreen.java
@@ -100,6 +100,10 @@ public class NavScreen extends LinearLayout implements OnClickListener {
mPopup = popup;
}
+ protected float getToolbarHeight() {
+ return mActivity.getResources().getDimension(R.dimen.toolbar_height);
+ }
+
protected void dismissMenu() {
if (mPopup != null) {
mPopup.dismiss();
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index fe131399..13a5257c 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -298,10 +298,12 @@ public class PhoneUi extends BaseUi {
if (mAnimating) return;
mAnimating = true;
mNavScreen = new NavScreen(mActivity, mUiController, this);
+ float yoffset = 0;
WebView web = getWebView();
if (web != null) {
int w = web.getWidth();
int h = web.getHeight();
+ yoffset = mNavScreen.getToolbarHeight() - web.getVisibleTitleHeight();
mNavScreen.setTabDimensions((int) (w * NAV_TAB_SCALE),
(int) (h * NAV_TAB_SCALE));
}
@@ -309,9 +311,11 @@ public class PhoneUi extends BaseUi {
mCustomViewContainer.addView(mNavScreen, COVER_SCREEN_GRAVITY_CENTER);
mContentView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
ObjectAnimator animx = ObjectAnimator.ofFloat(mContentView,
- "scaleX", 1.0f, 0.85f);
+ "scaleX", 1.0f, NAV_TAB_SCALE);
ObjectAnimator animy = ObjectAnimator.ofFloat(mContentView,
- "scaleY", 1.0f, 0.85f);
+ "scaleY", 1.0f, NAV_TAB_SCALE);
+ ObjectAnimator translatey = ObjectAnimator.ofFloat(mContentView,
+ "translationY", 0, yoffset * NAV_TAB_SCALE);
AnimatorSet anims = new AnimatorSet();
anims.setDuration(200);
anims.addListener(new AnimatorListener() {
@@ -333,7 +337,7 @@ public class PhoneUi extends BaseUi {
public void onAnimationStart(Animator animation) {
}
});
- anims.playTogether(animx, animy);
+ anims.playTogether(animx, animy, translatey);
anims.start();
}
@@ -343,6 +347,7 @@ public class PhoneUi extends BaseUi {
mContentView.setVisibility(View.GONE);
mContentView.setScaleX(1.0f);
mContentView.setScaleY(1.0f);
+ mContentView.setTranslationY(0);
BrowserWebView web = (BrowserWebView) getWebView();
if (web != null) {
mActiveTab.setScreenshot(web.capture());
@@ -358,10 +363,17 @@ public class PhoneUi extends BaseUi {
mAnimating = true;
mNavScreen.setLayerType(View.LAYER_TYPE_HARDWARE, null);
if (animateToPage) {
+ float yoffset = 0;
+ WebView web = mNavScreen.getSelectedTab().getWebView();
+ if (web != null) {
+ yoffset = mNavScreen.getToolbarHeight() - web.getVisibleTitleHeight();
+ }
ObjectAnimator animx = ObjectAnimator.ofFloat(mNavScreen, "scaleX",
- 1.0f, 1.2f);
+ 1.0f, 1 / NAV_TAB_SCALE);
ObjectAnimator animy = ObjectAnimator.ofFloat(mNavScreen, "scaleY",
- 1.0f, 1.2f);
+ 1.0f, 1 / NAV_TAB_SCALE);
+ ObjectAnimator translatey = ObjectAnimator.ofFloat(mNavScreen,
+ "translationY", 0, -yoffset);
AnimatorSet anims = new AnimatorSet();
anims.setDuration(200);
anims.addListener(new AnimatorListener() {
@@ -383,7 +395,7 @@ public class PhoneUi extends BaseUi {
public void onAnimationStart(Animator animation) {
}
});
- anims.playTogether(animx, animy);
+ anims.playTogether(animx, animy, translatey);
anims.start();
} else {
finishHideNavScreen();