-> Refactored and cleaned up dragging / animations
-> Added methods to generate blue glow outline
-> Added "res-out" effect
-> Added some influence for dragging left / right
Change-Id: I4bdbe4c3bd843ed5616b1ea359a3b0af1c151814
diff --git a/core/java/android/widget/AdapterViewAnimator.java b/core/java/android/widget/AdapterViewAnimator.java
index 2b723c9..ef00d88 100644
--- a/core/java/android/widget/AdapterViewAnimator.java
+++ b/core/java/android/widget/AdapterViewAnimator.java
@@ -685,14 +685,6 @@
verticalOffset = 0;
}
- void setHorizontalOffset(int newHorizontalOffset) {
- horizontalOffset = newHorizontalOffset;
- if (mView != null) {
- mView.requestLayout();
- mView.invalidate();
- }
- }
-
private Rect parentRect = new Rect();
void invalidateGlobalRegion(View v, Rect r) {
View p = v;
@@ -722,5 +714,17 @@
invalidateGlobalRegion(mView, invalidateRect);
}
}
+
+ public void setHorizontalOffset(int newHorizontalOffset) {
+ int offsetDelta = newHorizontalOffset - horizontalOffset;
+ horizontalOffset = newHorizontalOffset;
+ if (mView != null) {
+ mView.requestLayout();
+ int left = Math.min(mView.getLeft() + offsetDelta, mView.getLeft());
+ int right = Math.max(mView.getRight() + offsetDelta, mView.getRight());
+ invalidateRect.set(left, mView.getTop(), right, mView.getBottom());
+ invalidateGlobalRegion(mView, invalidateRect);
+ }
+ }
}
}