@Override public void onDrag(DraggableView draggableView, float percentX, float percentY) { super.onDrag(draggableView, percentX, percentY); MaryPopup popup = reference.get(); if (popup != null && !popup.isAnimating) { float percent = 1f - Math.abs(percentY); if (popup.fadeOutDragging) { DurX.putOn(popup.popupView) .alpha(percent); } if (popup.scaleDownDragging) { float scale = Math.max(0.75f, percent); DurX.putOn(popup.popupView) .pivotX(0.5f) .scale(scale); } } }
public DurXAnimator scaleX(float from, float to) { durX.scaleX(from); return scaleX(to); }
blackOverlay.setBackgroundColor(blackOverlayColor); activityView.addView(blackOverlay, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); DurX.putOn(blackOverlay) .animate() .alpha(0f, 1f); blackOverlay.setOnClickListener(this); DurX.putOn(popupView) .pivotX(0f) .pivotY(0f) .invisible() .waitForSize(new Listeners.Size() { @Override public void onSize(DurX durX) {
DurX.putOn(popupView) .translationX(differenceTranslationX) .translationY(differenceTranslationY) .visible() .animate() .scaleX(differenceScaleX, 1f) .scaleY(differenceScaleY, 1f) .pullOut() .andPutOn(popupViewContent) .visible() .animate() .startDelay(openDuration - 100) .alpha(0f, 1f);
public static DurX putOn(View view) { return new DurX(view); }
public DurXAnimator scale(float from, float to) { durX.scale(from); return scale(to); }
public DurXAnimator alpha(float from, float to) { durX.alpha(from); return alpha(to); }