diff options
author | Winson Chung <winsonc@google.com> | 2011-06-20 15:41:53 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2011-06-20 17:14:37 -0700 |
commit | 201bc828d5a0078f505e8e37152156a0cb43c10a (patch) | |
tree | 698628a43eec7783c1d885b12aa771fd82579f93 /src/com/android/launcher2/SearchDropTargetBar.java | |
parent | 30faf5197983383e15728c66ee7e9a39d5b717b2 (diff) | |
download | android_packages_apps_Trebuchet-201bc828d5a0078f505e8e37152156a0cb43c10a.tar.gz android_packages_apps_Trebuchet-201bc828d5a0078f505e8e37152156a0cb43c10a.tar.bz2 android_packages_apps_Trebuchet-201bc828d5a0078f505e8e37152156a0cb43c10a.zip |
Need to remove views and not just hide them after animations.
- Removing Manage Apps button from workspace and renaming it in AppsCustomize
- Fixing foolish string play in resources from initial change for search bar
- Using proper way to get full screen dims for wallpaper fix
Change-Id: I1319d225135436468f1feb3057cd9f28eda7c89c
Diffstat (limited to 'src/com/android/launcher2/SearchDropTargetBar.java')
-rw-r--r-- | src/com/android/launcher2/SearchDropTargetBar.java | 65 |
1 files changed, 59 insertions, 6 deletions
diff --git a/src/com/android/launcher2/SearchDropTargetBar.java b/src/com/android/launcher2/SearchDropTargetBar.java index d00e2103f..943bd00bd 100644 --- a/src/com/android/launcher2/SearchDropTargetBar.java +++ b/src/com/android/launcher2/SearchDropTargetBar.java @@ -16,6 +16,9 @@ package com.android.launcher2; +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.ObjectAnimator; import android.content.Context; import android.util.AttributeSet; import android.view.View; @@ -32,6 +35,11 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D private static final int sTransitionInDuration = 275; private static final int sTransitionOutDuration = 100; + private ObjectAnimator mDropTargetBarFadeInAnim; + private ObjectAnimator mDropTargetBarFadeOutAnim; + private ObjectAnimator mQSBSearchBarFadeInAnim; + private ObjectAnimator mQSBSearchBarFadeOutAnim; + private boolean mIsSearchBarHidden; private View mQSBSearchBar; private View mDropTargetBar; @@ -66,23 +74,68 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D mDropTargetBar = findViewById(R.id.drag_target_bar); mInfoDropTarget = (ButtonDropTarget) mDropTargetBar.findViewById(R.id.info_target); mDeleteDropTarget = (ButtonDropTarget) mDropTargetBar.findViewById(R.id.delete_target); + + // Create the various fade animations + mDropTargetBarFadeInAnim = ObjectAnimator.ofFloat(mDropTargetBar, "alpha", 1f); + mDropTargetBarFadeInAnim.setDuration(sTransitionInDuration); + mDropTargetBarFadeInAnim.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animation) { + mDropTargetBar.setVisibility(View.VISIBLE); + } + }); + mDropTargetBarFadeOutAnim = ObjectAnimator.ofFloat(mDropTargetBar, "alpha", 0f); + mDropTargetBarFadeOutAnim.setDuration(sTransitionOutDuration); + mDropTargetBarFadeOutAnim.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mDropTargetBar.setVisibility(View.GONE); + } + }); + mQSBSearchBarFadeInAnim = ObjectAnimator.ofFloat(mQSBSearchBar, "alpha", 1f); + mQSBSearchBarFadeInAnim.setDuration(sTransitionInDuration); + mQSBSearchBarFadeInAnim.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animation) { + mQSBSearchBar.setVisibility(View.VISIBLE); + } + }); + mQSBSearchBarFadeOutAnim = ObjectAnimator.ofFloat(mQSBSearchBar, "alpha", 0f); + mQSBSearchBarFadeOutAnim.setDuration(sTransitionOutDuration); + mQSBSearchBarFadeOutAnim.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mQSBSearchBar.setVisibility(View.GONE); + } + }); + } + + private void cancelAnimations() { + mDropTargetBarFadeInAnim.cancel(); + mDropTargetBarFadeOutAnim.cancel(); + mQSBSearchBarFadeInAnim.cancel(); + mQSBSearchBarFadeOutAnim.cancel(); } /* * Shows and hides the search bar. */ public void showSearchBar(boolean animated) { + cancelAnimations(); if (animated) { - mQSBSearchBar.animate().alpha(1f).setDuration(sTransitionInDuration); + mQSBSearchBarFadeInAnim.start(); } else { + mQSBSearchBar.setVisibility(View.VISIBLE); mQSBSearchBar.setAlpha(1f); } mIsSearchBarHidden = false; } public void hideSearchBar(boolean animated) { + cancelAnimations(); if (animated) { - mQSBSearchBar.animate().alpha(0f).setDuration(sTransitionOutDuration); + mQSBSearchBarFadeOutAnim.start(); } else { + mQSBSearchBar.setVisibility(View.GONE); mQSBSearchBar.setAlpha(0f); } mIsSearchBarHidden = true; @@ -104,18 +157,18 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D @Override public void onDragStart(DragSource source, Object info, int dragAction) { // Animate out the QSB search bar, and animate in the drop target bar - mDropTargetBar.animate().alpha(1f).setDuration(sTransitionInDuration); + mDropTargetBarFadeInAnim.start(); if (!mIsSearchBarHidden) { - mQSBSearchBar.animate().alpha(0f).setDuration(sTransitionOutDuration); + mQSBSearchBarFadeOutAnim.start(); } } @Override public void onDragEnd() { // Restore the QSB search bar, and animate out the drop target bar - mDropTargetBar.animate().alpha(0f).setDuration(sTransitionOutDuration); + mDropTargetBarFadeOutAnim.start(); if (!mIsSearchBarHidden) { - mQSBSearchBar.animate().alpha(1f).setDuration(sTransitionInDuration); + mQSBSearchBarFadeInAnim.start(); } } } |