diff options
-rw-r--r-- | res/layout-land/launcher.xml | 11 | ||||
-rw-r--r-- | res/layout-port/launcher.xml | 13 | ||||
-rw-r--r-- | res/layout/qsb_bar.xml | 14 | ||||
-rw-r--r-- | res/layout/workspace_divider.xml (renamed from res/layout/dock_divider.xml) | 8 | ||||
-rw-r--r-- | res/values-land/dimens.xml | 8 | ||||
-rw-r--r-- | res/values-large/styles.xml | 2 | ||||
-rw-r--r-- | res/values-port/dimens.xml | 4 | ||||
-rw-r--r-- | res/values/dimens.xml | 10 | ||||
-rw-r--r-- | res/values/styles.xml | 9 | ||||
-rw-r--r-- | src/com/android/launcher2/ButtonDropTarget.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher2/DeleteDropTarget.java | 27 | ||||
-rw-r--r-- | src/com/android/launcher2/InfoDropTarget.java | 17 | ||||
-rw-r--r-- | src/com/android/launcher2/PagedView.java | 56 | ||||
-rw-r--r-- | src/com/android/launcher2/SearchDropTargetBar.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher2/Workspace.java | 64 |
15 files changed, 141 insertions, 108 deletions
diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml index 215f8db51..9d394d09c 100644 --- a/res/layout-land/launcher.xml +++ b/res/layout-land/launcher.xml @@ -22,9 +22,18 @@ android:layout_width="match_parent" android:layout_height="match_parent"> + <!-- Keep these behind the workspace so that they are not visible when + we go into AllApps --> + <include + android:id="@+id/qsb_divider" + layout="@layout/workspace_divider" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_marginLeft="@dimen/qsb_bar_height" + android:layout_gravity="left" /> <include android:id="@+id/dock_divider" - layout="@layout/dock_divider" + layout="@layout/workspace_divider" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginRight="@dimen/button_bar_height" diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml index f7e93f003..2f8d99529 100644 --- a/res/layout-port/launcher.xml +++ b/res/layout-port/launcher.xml @@ -25,8 +25,15 @@ <!-- Keep these behind the workspace so that they are not visible when we go into AllApps --> <include + android:id="@+id/qsb_divider" + layout="@layout/workspace_divider" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/qsb_bar_height" + android:layout_gravity="top" /> + <include android:id="@+id/dock_divider" - layout="@layout/dock_divider" + layout="@layout/workspace_divider" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="@dimen/button_bar_height" @@ -48,8 +55,8 @@ launcher:cellCountX="4" launcher:cellCountY="4" launcher:pageSpacing="@dimen/workspace_page_spacing" - launcher:scrollIndicatorPaddingLeft="@dimen/dock_divider_padding_left" - launcher:scrollIndicatorPaddingRight="@dimen/dock_divider_padding_right"> + launcher:scrollIndicatorPaddingLeft="@dimen/workspace_divider_padding_left" + launcher:scrollIndicatorPaddingRight="@dimen/workspace_divider_padding_right"> <include android:id="@+id/cell1" layout="@layout/workspace_screen" /> <include android:id="@+id/cell2" layout="@layout/workspace_screen" /> diff --git a/res/layout/qsb_bar.xml b/res/layout/qsb_bar.xml index abcc941f3..cad81f526 100644 --- a/res/layout/qsb_bar.xml +++ b/res/layout/qsb_bar.xml @@ -28,28 +28,26 @@ android:id="@+id/drag_target_bar" android:visibility="gone"> - <com.android.launcher2.DeleteDropTarget + <FrameLayout style="@style/DropTargetButtonContainer" - android:id="@+id/delete_target" android:layout_weight="1"> <!-- Delete target --> - <TextView + <com.android.launcher2.DeleteDropTarget style="@style/DropTargetButton" android:id="@+id/delete_target_text" android:text="@string/delete_zone_label_workspace" android:drawableLeft="@drawable/delete_target_selector" /> - </com.android.launcher2.DeleteDropTarget> + </FrameLayout> - <com.android.launcher2.InfoDropTarget + <FrameLayout style="@style/DropTargetButtonContainer" - android:id="@+id/info_target" android:layout_weight="1"> <!-- Info target --> - <TextView + <com.android.launcher2.InfoDropTarget style="@style/DropTargetButton" android:id="@+id/info_target_text" android:text="@string/info_target_label" android:drawableLeft="@drawable/info_target_selector" /> - </com.android.launcher2.InfoDropTarget> + </FrameLayout> </LinearLayout> </com.android.launcher2.SearchDropTargetBar> diff --git a/res/layout/dock_divider.xml b/res/layout/workspace_divider.xml index c3cac5276..257ea7c90 100644 --- a/res/layout/dock_divider.xml +++ b/res/layout/workspace_divider.xml @@ -16,9 +16,9 @@ <ImageView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" - android:paddingLeft="@dimen/dock_divider_padding_left" - android:paddingRight="@dimen/dock_divider_padding_right" - android:paddingTop="@dimen/dock_divider_padding_top" - android:paddingBottom="@dimen/dock_divider_padding_bottom" + android:paddingLeft="@dimen/workspace_divider_padding_left" + android:paddingRight="@dimen/workspace_divider_padding_right" + android:paddingTop="@dimen/workspace_divider_padding_top" + android:paddingBottom="@dimen/workspace_divider_padding_bottom" android:scaleType="fitXY" android:src="@drawable/hotseat_track_holo" />
\ No newline at end of file diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml index d8cc7efec..c715bfb85 100644 --- a/res/values-land/dimens.xml +++ b/res/values-land/dimens.xml @@ -25,10 +25,10 @@ <dimen name="workspace_top_padding">0dp</dimen> <dimen name="workspace_bottom_padding">0dp</dimen> <dimen name="workspace_page_spacing">8dp</dimen> - <dimen name="dock_divider_padding_left">0dp</dimen> - <dimen name="dock_divider_padding_right">0dp</dimen> - <dimen name="dock_divider_padding_top">12dp</dimen> - <dimen name="dock_divider_padding_bottom">12dp</dimen> + <dimen name="workspace_divider_padding_left">0dp</dimen> + <dimen name="workspace_divider_padding_right">0dp</dimen> + <dimen name="workspace_divider_padding_top">12dp</dimen> + <dimen name="workspace_divider_padding_bottom">12dp</dimen> <!-- AppsCustomize --> <dimen name="apps_customize_cell_width">80dp</dimen> diff --git a/res/values-large/styles.xml b/res/values-large/styles.xml index bc21a3aca..ea1a8e635 100644 --- a/res/values-large/styles.xml +++ b/res/values-large/styles.xml @@ -98,6 +98,8 @@ <item name="android:layout_gravity">center</item> <item name="android:gravity">center_vertical</item> <item name="android:drawablePadding">7.5dp</item> + <item name="android:paddingLeft">25dp</item> + <item name="android:paddingRight">25dp</item> <item name="android:textColor">#FFFFFFFF</item> <item name="android:textSize">16sp</item> <item name="android:shadowColor">#393939</item> diff --git a/res/values-port/dimens.xml b/res/values-port/dimens.xml index e917c5087..2d27321ef 100644 --- a/res/values-port/dimens.xml +++ b/res/values-port/dimens.xml @@ -28,8 +28,8 @@ <integer name="apps_customize_cellCountY">5</integer> <dimen name="apps_customize_pageLayoutWidthGap">-1dp</dimen> <dimen name="apps_customize_pageLayoutHeightGap">-1dp</dimen> - <dimen name="apps_customize_pageLayoutPaddingTop">15dp</dimen> - <dimen name="apps_customize_pageLayoutPaddingBottom">15dp</dimen> + <dimen name="apps_customize_pageLayoutPaddingTop">10dp</dimen> + <dimen name="apps_customize_pageLayoutPaddingBottom">10dp</dimen> <dimen name="apps_customize_pageLayoutPaddingLeft">5dp</dimen> <dimen name="apps_customize_pageLayoutPaddingRight">5dp</dimen> diff --git a/res/values/dimens.xml b/res/values/dimens.xml index dc18a7234..309bf6db4 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -24,10 +24,10 @@ <dimen name="workspace_max_gap">8dp</dimen> <dimen name="folder_cell_width">74dp</dimen> <dimen name="folder_cell_height">80dp</dimen> - <dimen name="dock_divider_padding_left">12dp</dimen> - <dimen name="dock_divider_padding_right">12dp</dimen> - <dimen name="dock_divider_padding_top">0dp</dimen> - <dimen name="dock_divider_padding_bottom">0dp</dimen> + <dimen name="workspace_divider_padding_left">12dp</dimen> + <dimen name="workspace_divider_padding_right">12dp</dimen> + <dimen name="workspace_divider_padding_top">0dp</dimen> + <dimen name="workspace_divider_padding_bottom">0dp</dimen> <!-- QSB --> <dimen name="toolbar_button_vertical_padding">0dip</dimen> @@ -53,7 +53,7 @@ <dimen name="button_bar_height_plus_padding">88dp</dimen> <!-- Drag padding to add to the drop targets --> - <dimen name="drop_target_drag_padding">20dp</dimen> + <dimen name="drop_target_drag_padding">40dp</dimen> <!-- extra horizontal spacing between mini screen thumbnails ie. in all apps and in customization mode --> diff --git a/res/values/styles.xml b/res/values/styles.xml index 62244a6c7..b356a424b 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -66,15 +66,18 @@ <style name="WorkspaceIcon.Portrait.AppsCustomize"> <item name="android:background">@null</item> + <item name="android:paddingTop">0dp</item> + <item name="android:paddingBottom">0dp</item> <item name="android:paddingLeft">0dp</item> <item name="android:paddingRight">0dp</item> - <item name="android:drawablePadding">0dp</item> + <item name="android:drawablePadding">4dp</item> <item name="android:includeFontPadding">false</item> </style> <style name="WorkspaceIcon.Landscape.AppsCustomize"> <item name="android:background">@null</item> + <item name="android:paddingTop">0dp</item> <item name="android:paddingBottom">0dp</item> - <item name="android:drawablePadding">0dp</item> + <item name="android:drawablePadding">2dp</item> <item name="android:includeFontPadding">false</item> </style> @@ -105,6 +108,8 @@ <item name="android:layout_gravity">center</item> <item name="android:gravity">center_vertical</item> <item name="android:drawablePadding">7.5dp</item> + <item name="android:paddingLeft">25dp</item> + <item name="android:paddingRight">25dp</item> <item name="android:textColor">#FFFFFFFF</item> <item name="android:textSize">16sp</item> <item name="android:shadowColor">#393939</item> diff --git a/src/com/android/launcher2/ButtonDropTarget.java b/src/com/android/launcher2/ButtonDropTarget.java index 138770a2e..868ede836 100644 --- a/src/com/android/launcher2/ButtonDropTarget.java +++ b/src/com/android/launcher2/ButtonDropTarget.java @@ -29,7 +29,7 @@ import com.android.launcher.R; /** * Implements a DropTarget. */ -public class ButtonDropTarget extends FrameLayout implements DropTarget, DragController.DragListener { +public class ButtonDropTarget extends TextView implements DropTarget, DragController.DragListener { protected final int mTransitionDuration; diff --git a/src/com/android/launcher2/DeleteDropTarget.java b/src/com/android/launcher2/DeleteDropTarget.java index e76ab31b7..1553d3cc6 100644 --- a/src/com/android/launcher2/DeleteDropTarget.java +++ b/src/com/android/launcher2/DeleteDropTarget.java @@ -26,9 +26,8 @@ import android.graphics.Rect; import android.graphics.drawable.TransitionDrawable; import android.util.AttributeSet; import android.view.View; -import android.view.animation.AccelerateInterpolator; +import android.view.ViewGroup; import android.view.animation.DecelerateInterpolator; -import android.widget.TextView; import com.android.launcher.R; @@ -52,22 +51,21 @@ public class DeleteDropTarget extends ButtonDropTarget { super.onFinishInflate(); // Get the drawable - mText = (TextView) findViewById(R.id.delete_target_text); - mOriginalTextColor = mText.getTextColors(); + mOriginalTextColor = getTextColors(); // Get the hover color Resources r = getResources(); mHoverColor = r.getColor(R.color.delete_target_hover_tint); mHoverPaint.setColorFilter(new PorterDuffColorFilter( mHoverColor, PorterDuff.Mode.SRC_ATOP)); - mDrawable = (TransitionDrawable) mText.getCompoundDrawables()[0]; + mDrawable = (TransitionDrawable) getCompoundDrawables()[0]; mDrawable.setCrossFadeEnabled(true); // Remove the text in the Phone UI in landscape int orientation = getResources().getConfiguration().orientation; if (orientation == Configuration.ORIENTATION_LANDSCAPE) { if (!LauncherApplication.isScreenLarge()) { - mText.setText(""); + setText(""); } } } @@ -120,10 +118,10 @@ public class DeleteDropTarget extends ButtonDropTarget { mActive = isVisible; mDrawable.resetTransition(); - mText.setTextColor(mOriginalTextColor); - setVisibility(isVisible ? View.VISIBLE : View.GONE); - if (mText.getText().length() > 0) { - mText.setText(isUninstall ? R.string.delete_target_uninstall_label + setTextColor(mOriginalTextColor); + ((ViewGroup) getParent()).setVisibility(isVisible ? View.VISIBLE : View.GONE); + if (getText().length() > 0) { + setText(isUninstall ? R.string.delete_target_uninstall_label : R.string.delete_target_label); } } @@ -138,7 +136,7 @@ public class DeleteDropTarget extends ButtonDropTarget { super.onDragEnter(d); mDrawable.startTransition(mTransitionDuration); - mText.setTextColor(mHoverColor); + setTextColor(mHoverColor); } public void onDragExit(DragObject d) { @@ -146,7 +144,7 @@ public class DeleteDropTarget extends ButtonDropTarget { if (!d.dragComplete) { mDrawable.resetTransition(); - mText.setTextColor(mOriginalTextColor); + setTextColor(mOriginalTextColor); } } @@ -155,11 +153,12 @@ public class DeleteDropTarget extends ButtonDropTarget { Rect from = new Rect(); Rect to = new Rect(); dragLayer.getViewRectRelativeToSelf(d.dragView, from); - dragLayer.getViewRectRelativeToSelf(mText, to); + dragLayer.getViewRectRelativeToSelf(this, to); int width = mDrawable.getIntrinsicWidth(); int height = mDrawable.getIntrinsicHeight(); - to.set(to.left, to.top, to.left + width, to.bottom); + to.set(to.left + getPaddingLeft(), to.top + getPaddingTop(), + to.left + getPaddingLeft() + width, to.bottom); // Center the destination rect about the trash icon int xOffset = (int) -(d.dragView.getMeasuredWidth() - width) / 2; diff --git a/src/com/android/launcher2/InfoDropTarget.java b/src/com/android/launcher2/InfoDropTarget.java index 3507181e2..dba845b04 100644 --- a/src/com/android/launcher2/InfoDropTarget.java +++ b/src/com/android/launcher2/InfoDropTarget.java @@ -26,7 +26,7 @@ import android.graphics.PorterDuffColorFilter; import android.graphics.drawable.TransitionDrawable; import android.util.AttributeSet; import android.view.View; -import android.widget.TextView; +import android.view.ViewGroup; import com.android.launcher.R; @@ -48,22 +48,21 @@ public class InfoDropTarget extends ButtonDropTarget { protected void onFinishInflate() { super.onFinishInflate(); - mText = (TextView) findViewById(R.id.info_target_text); - mOriginalTextColor = mText.getTextColors(); + mOriginalTextColor = getTextColors(); // Get the hover color Resources r = getResources(); mHoverColor = r.getColor(R.color.info_target_hover_tint); mHoverPaint.setColorFilter(new PorterDuffColorFilter( mHoverColor, PorterDuff.Mode.SRC_ATOP)); - mDrawable = (TransitionDrawable) mText.getCompoundDrawables()[0]; + mDrawable = (TransitionDrawable) getCompoundDrawables()[0]; mDrawable.setCrossFadeEnabled(true); // Remove the text in the Phone UI in landscape int orientation = getResources().getConfiguration().orientation; if (orientation == Configuration.ORIENTATION_LANDSCAPE) { if (!LauncherApplication.isScreenLarge()) { - mText.setText(""); + setText(""); } } } @@ -100,8 +99,8 @@ public class InfoDropTarget extends ButtonDropTarget { mActive = isVisible; mDrawable.resetTransition(); - mText.setTextColor(mOriginalTextColor); - setVisibility(isVisible ? View.VISIBLE : View.GONE); + setTextColor(mOriginalTextColor); + ((ViewGroup) getParent()).setVisibility(isVisible ? View.VISIBLE : View.GONE); } @Override @@ -114,7 +113,7 @@ public class InfoDropTarget extends ButtonDropTarget { super.onDragEnter(d); mDrawable.startTransition(mTransitionDuration); - mText.setTextColor(mHoverColor); + setTextColor(mHoverColor); } public void onDragExit(DragObject d) { @@ -122,7 +121,7 @@ public class InfoDropTarget extends ButtonDropTarget { if (!d.dragComplete) { mDrawable.resetTransition(); - mText.setTextColor(mOriginalTextColor); + setTextColor(mOriginalTextColor); } } } diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java index 596ef50bb..292ccd740 100644 --- a/src/com/android/launcher2/PagedView.java +++ b/src/com/android/launcher2/PagedView.java @@ -163,14 +163,13 @@ public abstract class PagedView extends ViewGroup { // Scrolling indicator private ValueAnimator mScrollIndicatorAnimator; - private android.animation.ValueAnimator mDockDividerAnimator; private ImageView mScrollIndicator; private int mScrollIndicatorPaddingLeft; private int mScrollIndicatorPaddingRight; private boolean mHasScrollIndicator = true; - private static final int sScrollIndicatorFadeInDuration = 150; - private static final int sScrollIndicatorFadeOutDuration = 650; - private static final int sScrollIndicatorFlashDuration = 650; + protected static final int sScrollIndicatorFadeInDuration = 150; + protected static final int sScrollIndicatorFadeOutDuration = 650; + protected static final int sScrollIndicatorFlashDuration = 650; // If set, will defer loading associated pages until the scrolling settles private boolean mDeferLoadAssociatedPagesUntilScrollCompletes; @@ -1740,55 +1739,6 @@ public abstract class PagedView extends ViewGroup { } } - void showDockDivider(boolean immediately) { - final ViewGroup parent = (ViewGroup) getParent(); - final View divider = (ImageView) (parent.findViewById(R.id.dock_divider)); - if (divider != null) { - divider.setVisibility(View.VISIBLE); - if (mDockDividerAnimator != null) { - mDockDividerAnimator.cancel(); - } - if (immediately) { - divider.setAlpha(1f); - } else { - mDockDividerAnimator = ObjectAnimator.ofFloat(divider, "alpha", 1f); - mDockDividerAnimator.setDuration(sScrollIndicatorFadeInDuration); - mDockDividerAnimator.start(); - } - } - } - - void hideDockDivider(boolean immediately) { - final ViewGroup parent = (ViewGroup) getParent(); - final View divider = (ImageView) (parent.findViewById(R.id.dock_divider)); - if (divider != null) { - if (mDockDividerAnimator != null) { - mDockDividerAnimator.cancel(); - } - if (immediately) { - divider.setVisibility(View.GONE); - divider.setAlpha(0f); - } else { - mDockDividerAnimator = ObjectAnimator.ofFloat(divider, "alpha", 0f); - mDockDividerAnimator.setDuration(sScrollIndicatorFadeOutDuration); - mDockDividerAnimator.addListener(new AnimatorListenerAdapter() { - private boolean cancelled = false; - @Override - public void onAnimationCancel(android.animation.Animator animation) { - cancelled = true; - } - @Override - public void onAnimationEnd(android.animation.Animator animation) { - if (!cancelled) { - divider.setVisibility(View.GONE); - } - } - }); - mDockDividerAnimator.start(); - } - } - } - /** * To be overridden by subclasses to determine whether the scroll indicator should stretch to * fill its space on the track or not. diff --git a/src/com/android/launcher2/SearchDropTargetBar.java b/src/com/android/launcher2/SearchDropTargetBar.java index ee3ab18fd..69a121341 100644 --- a/src/com/android/launcher2/SearchDropTargetBar.java +++ b/src/com/android/launcher2/SearchDropTargetBar.java @@ -77,8 +77,8 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D // Get the individual components mQSBSearchBar = findViewById(R.id.qsb_search_bar); mDropTargetBar = findViewById(R.id.drag_target_bar); - mInfoDropTarget = (ButtonDropTarget) mDropTargetBar.findViewById(R.id.info_target); - mDeleteDropTarget = (ButtonDropTarget) mDropTargetBar.findViewById(R.id.delete_target); + mInfoDropTarget = (ButtonDropTarget) mDropTargetBar.findViewById(R.id.info_target_text); + mDeleteDropTarget = (ButtonDropTarget) mDropTargetBar.findViewById(R.id.delete_target_text); mBarHeight = getResources().getDimensionPixelSize(R.dimen.qsb_bar_height); mInfoDropTarget.setSearchDropTargetBar(this); diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index 23b8c2d99..e4865c20b 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -58,6 +58,7 @@ import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.animation.DecelerateInterpolator; +import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; @@ -109,6 +110,7 @@ public class Workspace extends SmoothPagedView private float mBackgroundAlpha = 0; private float mOverScrollMaxBackgroundAlpha = 0.0f; private int mOverScrollPageIndex = -1; + private AnimatorSet mDividerAnimator; private final WallpaperManager mWallpaperManager; private IBinder mWindowToken; @@ -3542,4 +3544,66 @@ public class Workspace extends SmoothPagedView protected boolean hasElasticScrollIndicator() { return true; } + + void showDockDivider(boolean immediately) { + final ViewGroup parent = (ViewGroup) getParent(); + final View qsbDivider = (ImageView) (parent.findViewById(R.id.qsb_divider)); + final View dockDivider = (ImageView) (parent.findViewById(R.id.dock_divider)); + if (qsbDivider != null && dockDivider != null) { + qsbDivider.setVisibility(View.VISIBLE); + dockDivider.setVisibility(View.VISIBLE); + if (mDividerAnimator != null) { + mDividerAnimator.cancel(); + mDividerAnimator = null; + } + if (immediately) { + qsbDivider.setAlpha(1f); + dockDivider.setAlpha(1f); + } else { + mDividerAnimator = new AnimatorSet(); + mDividerAnimator.playTogether(ObjectAnimator.ofFloat(qsbDivider, "alpha", 1f), + ObjectAnimator.ofFloat(dockDivider, "alpha", 1f)); + mDividerAnimator.setDuration(sScrollIndicatorFadeInDuration); + mDividerAnimator.start(); + } + } + } + + void hideDockDivider(boolean immediately) { + final ViewGroup parent = (ViewGroup) getParent(); + final View qsbDivider = (ImageView) (parent.findViewById(R.id.qsb_divider)); + final View dockDivider = (ImageView) (parent.findViewById(R.id.dock_divider)); + if (qsbDivider != null && dockDivider != null) { + if (mDividerAnimator != null) { + mDividerAnimator.cancel(); + mDividerAnimator = null; + } + if (immediately) { + qsbDivider.setVisibility(View.GONE); + dockDivider.setVisibility(View.GONE); + qsbDivider.setAlpha(0f); + dockDivider.setAlpha(0f); + } else { + mDividerAnimator = new AnimatorSet(); + mDividerAnimator.playTogether(ObjectAnimator.ofFloat(qsbDivider, "alpha", 0f), + ObjectAnimator.ofFloat(dockDivider, "alpha", 0f)); + mDividerAnimator.addListener(new AnimatorListenerAdapter() { + private boolean cancelled = false; + @Override + public void onAnimationCancel(android.animation.Animator animation) { + cancelled = true; + } + @Override + public void onAnimationEnd(android.animation.Animator animation) { + if (!cancelled) { + qsbDivider.setVisibility(View.GONE); + dockDivider.setVisibility(View.GONE); + } + } + }); + mDividerAnimator.setDuration(sScrollIndicatorFadeOutDuration); + mDividerAnimator.start(); + } + } + } } |