summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/DragLayer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/DragLayer.java')
-rw-r--r--src/com/android/launcher3/DragLayer.java30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/com/android/launcher3/DragLayer.java b/src/com/android/launcher3/DragLayer.java
index c54db0127..8bcc407d6 100644
--- a/src/com/android/launcher3/DragLayer.java
+++ b/src/com/android/launcher3/DragLayer.java
@@ -77,6 +77,10 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang
private int mTopViewIndex;
private int mChildCountOnLastUpdate = -1;
+ // Darkening scrim
+ private Drawable mBackground;
+ private float mBackgroundAlpha = 0;
+
/**
* Used to create a new DragLayer from XML.
*
@@ -91,8 +95,10 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang
setChildrenDrawingOrderEnabled(true);
setOnHierarchyChangeListener(this);
- mLeftHoverDrawable = getResources().getDrawable(R.drawable.page_hover_left_holo);
- mRightHoverDrawable = getResources().getDrawable(R.drawable.page_hover_right_holo);
+ final Resources res = getResources();
+ mLeftHoverDrawable = res.getDrawable(R.drawable.page_hover_left_holo);
+ mRightHoverDrawable = res.getDrawable(R.drawable.page_hover_right_holo);
+ mBackground = res.getDrawable(R.drawable.apps_customize_bg);
}
public void setup(Launcher launcher, DragController controller) {
@@ -862,8 +868,17 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang
@Override
protected void dispatchDraw(Canvas canvas) {
+ // Draw the background gradient below children.
+ if (mBackground != null && mBackgroundAlpha > 0.0f) {
+ int alpha = (int) (mBackgroundAlpha * 255);
+ mBackground.setAlpha(alpha);
+ mBackground.setBounds(0, 0, getMeasuredWidth(), getMeasuredHeight());
+ mBackground.draw(canvas);
+ }
+
super.dispatchDraw(canvas);
+ // Draw screen hover indicators above children.
if (mInScrollArea && !LauncherAppState.getInstance().isScreenLarge()) {
Workspace workspace = mLauncher.getWorkspace();
int width = getMeasuredWidth();
@@ -887,6 +902,17 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang
}
}
+ public void setBackgroundAlpha(float alpha) {
+ if (alpha != mBackgroundAlpha) {
+ mBackgroundAlpha = alpha;
+ invalidate();
+ }
+ }
+
+ public float getBackgroundAlpha() {
+ return mBackgroundAlpha;
+ }
+
public void setTouchCompleteListener(TouchCompleteListener listener) {
mTouchCompleteListener = listener;
}