Skip to content

Commit b8ffffb

Browse files
author
Issac
committed
Shadow fade out
1 parent 08a1554 commit b8ffffb

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

library/src/main/java/me/imid/swipebacklayout/lib/SwipeBackLayout.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ public class SwipeBackLayout extends FrameLayout {
2525

2626
private static final int DEFAULT_SCRIM_COLOR = 0x99000000;
2727

28+
private static final int FULL_ALPHA = 255;
29+
2830
/**
2931
* Edge flag indicating that the left edge should be affected.
3032
*/
@@ -397,11 +399,11 @@ public void requestLayout() {
397399
@Override
398400
protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
399401
final boolean drawContent = child == mContentView;
400-
drawShadow(canvas, child);
401402

402403
boolean ret = super.drawChild(canvas, child, drawingTime);
403404
if (mScrimOpacity > 0 && drawContent
404405
&& mDragHelper.getViewDragState() != ViewDragHelper.STATE_IDLE) {
406+
drawShadow(canvas, child);
405407
drawScrim(canvas, child);
406408
}
407409
return ret;
@@ -429,18 +431,21 @@ private void drawShadow(Canvas canvas, View child) {
429431
if ((mEdgeFlag & EDGE_LEFT) != 0) {
430432
mShadowLeft.setBounds(childRect.left - mShadowLeft.getIntrinsicWidth(), childRect.top,
431433
childRect.left, childRect.bottom);
434+
mShadowLeft.setAlpha((int) (mScrimOpacity * FULL_ALPHA));
432435
mShadowLeft.draw(canvas);
433436
}
434437

435438
if ((mEdgeFlag & EDGE_RIGHT) != 0) {
436439
mShadowRight.setBounds(childRect.right, childRect.top,
437440
childRect.right + mShadowRight.getIntrinsicWidth(), childRect.bottom);
441+
mShadowRight.setAlpha((int) (mScrimOpacity * FULL_ALPHA));
438442
mShadowRight.draw(canvas);
439443
}
440444

441445
if ((mEdgeFlag & EDGE_BOTTOM) != 0) {
442446
mShadowBottom.setBounds(childRect.left, childRect.bottom, childRect.right,
443447
childRect.bottom + mShadowBottom.getIntrinsicHeight());
448+
mShadowBottom.setAlpha((int) (mScrimOpacity * FULL_ALPHA));
444449
mShadowBottom.draw(canvas);
445450
}
446451
}

0 commit comments

Comments
 (0)