diff options
author | Jorge Ruesga <jorge@ruesga.com> | 2013-06-21 22:12:21 +0200 |
---|---|---|
committer | Jorge Ruesga <jorge@ruesga.com> | 2013-06-22 17:36:50 +0200 |
commit | f42063810cca82d0beef501510cb0a6f2a732541 (patch) | |
tree | e687e6870248cec28af5b17001fc77b90984dd26 | |
parent | 73c303e92d43cb74824f25b8158c65765b1a421b (diff) | |
download | packages_apps_trebuchet-f42063810cca82d0beef501510cb0a6f2a732541.zip packages_apps_trebuchet-f42063810cca82d0beef501510cb0a6f2a732541.tar.gz packages_apps_trebuchet-f42063810cca82d0beef501510cb0a6f2a732541.tar.bz2 |
Trebuchet: Fix stack effect
Actually stack effect is broken. Dragging an item from the current page to other fails, because
the page has an alpha value of 0, and the dragged icon falls into a hidden state.
Patchset 2: Fixed the overlap of views of stack effect on tablets
Change-Id: I7c607eee29fbd82542b49d2c6bd50d7554e6d673
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
-rw-r--r-- | src/com/cyanogenmod/trebuchet/Workspace.java | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/com/cyanogenmod/trebuchet/Workspace.java b/src/com/cyanogenmod/trebuchet/Workspace.java index a6f9154..20b9953 100644 --- a/src/com/cyanogenmod/trebuchet/Workspace.java +++ b/src/com/cyanogenmod/trebuchet/Workspace.java @@ -1566,16 +1566,17 @@ public class Workspace extends PagedView // On large screens we need to fade the page as it nears its leftmost position alpha = mLeftScreenAlphaInterpolator.getInterpolation(1 - scrollProgress); } - cl.setTranslationX(translationX); cl.setScaleX(scale); cl.setScaleY(scale); cl.setAlpha(alpha); // If the view has 0 alpha, we set it to be invisible so as to prevent - // it from accepting touches + // it from accepting touches. Move the view to its original position to + // prevent overlap between views if (alpha <= 0) { cl.setVisibility(INVISIBLE); + cl.setTranslationX(0); } else if (cl.getVisibility() != VISIBLE) { cl.setVisibility(VISIBLE); } @@ -2231,8 +2232,16 @@ public class Workspace extends PagedView if (mTransitionEffect == TransitionEffect.Stack) { if (i <= mCurrentPage) { cl.setVisibility(VISIBLE); + cl.setAlpha(1.0f); + if (mFadeInAdjacentScreens) { + setCellLayoutFadeAdjacent(cl, 0.0f); + } } else { cl.setVisibility(INVISIBLE); + cl.setAlpha(0.0f); + if (mFadeInAdjacentScreens) { + setCellLayoutFadeAdjacent(cl, 1.0f); + } } } @@ -2294,6 +2303,14 @@ public class Workspace extends PagedView cl.setPivotX(cl.getMeasuredWidth() * 0.5f); cl.setPivotY(cl.getMeasuredHeight() * 0.5f); cl.setVisibility(VISIBLE); + + // Stack Effect + if (mTransitionEffect == TransitionEffect.Stack) { + cl.setAlpha(1.0f); + if (mFadeInAdjacentScreens) { + setCellLayoutFadeAdjacent(cl, 0.0f); + } + } } // Determine the pages alpha during the state transition |