summaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java
diff options
context:
space:
mode:
authornebkat <nebkat@teamhacksung.org>2012-12-18 19:20:24 +0000
committerGerrit Code Review <gerrit@review.cyanogenmod.com>2012-12-18 12:39:17 -0800
commita257f0d0f8cf83e5aa0656d16b876e3edc027009 (patch)
treed9ff9776e66675153dc869e62b14d109b2dd3743 /src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java
parent7ec1ecc9b8cca8a8c1faa64495be0828cd3c4a2c (diff)
downloadandroid_packages_apps_Trebuchet-a257f0d0f8cf83e5aa0656d16b876e3edc027009.tar.gz
android_packages_apps_Trebuchet-a257f0d0f8cf83e5aa0656d16b876e3edc027009.tar.bz2
android_packages_apps_Trebuchet-a257f0d0f8cf83e5aa0656d16b876e3edc027009.zip
Cylinder Transition Effect
Change-Id: Id9bdd2ae83472ba0dc90527d55272463395d1aaf
Diffstat (limited to 'src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java')
-rw-r--r--src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java b/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java
index 945d5b76e..fca6eda9c 100644
--- a/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java
+++ b/src/com/cyanogenmod/trebuchet/AppsCustomizePagedView.java
@@ -318,7 +318,9 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
CubeIn,
CubeOut,
Stack,
- Accordian
+ Accordian,
+ CylinderIn,
+ CylinderOut
}
private TransitionEffect mTransitionEffect = TransitionEffect.Standard;
@@ -2031,6 +2033,24 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
}
}
+ private void screenScrolledCylinder(int screenScroll, boolean in) {
+ for (int i = 0; i < getChildCount(); i++) {
+ View v = getPageAt(i);
+ if (v != null) {
+ float scrollProgress = getScrollProgress(screenScroll, v, i);
+ float rotation = (in ? TRANSITION_SCREEN_ROTATION : -TRANSITION_SCREEN_ROTATION) * scrollProgress;
+
+ v.setPivotX((scrollProgress + 1) * v.getMeasuredWidth() * 0.5f);
+ v.setPivotY(v.getMeasuredHeight() * 0.5f);
+ v.setRotationY(rotation);
+ if (mFadeInAdjacentScreens) {
+ float alpha = 1 - Math.abs(scrollProgress);
+ v.setAlpha(alpha);
+ }
+ }
+ }
+ }
+
// Transition effects
@Override
protected void screenScrolled(int screenScroll) {
@@ -2044,6 +2064,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
if (!isInOverscroll || mScrollTransformsDirty) {
// Limit the "normal" effects to mScrollX/Y
int scroll = !mVertical ? mScrollX : mScrollY;
+
// Reset transforms when we aren't in overscroll
if (mOverscrollTransformsDirty) {
mOverscrollTransformsDirty = false;
@@ -2067,6 +2088,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
v0.setPivotY(v0.getMeasuredHeight() / 2);
v1.setPivotY(v1.getMeasuredHeight() / 2);
}
+
switch (mTransitionEffect) {
case Standard:
screenScrolledStandard(scroll);
@@ -2104,6 +2126,11 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
case Accordian:
screenScrolledAccordian(scroll);
break;
+ case CylinderIn:
+ screenScrolledCylinder(scroll, true);
+ break;
+ case CylinderOut:
+ screenScrolledCylinder(scroll, false);
}
mScrollTransformsDirty = false;
}