summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2011-03-02 14:41:35 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-03-02 14:41:35 -0800
commite43111fad31ad8e36a66df52a8c6002799996413 (patch)
tree506a2c1775aa252ae227e827a2a539476d825b83 /core
parentf867706180c0ce374b30769f367df263aaab4e08 (diff)
parent07d6f7bd750655852da49ee1a3c64f7dc05cc00d (diff)
downloadframeworks_base-e43111fad31ad8e36a66df52a8c6002799996413.zip
frameworks_base-e43111fad31ad8e36a66df52a8c6002799996413.tar.gz
frameworks_base-e43111fad31ad8e36a66df52a8c6002799996413.tar.bz2
Merge "Fix bug 3502257 - overscroll effect api"
Diffstat (limited to 'core')
-rw-r--r--core/java/android/widget/AbsListView.java23
1 files changed, 19 insertions, 4 deletions
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index 2925632..eca39fc 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -624,6 +624,9 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
*/
private boolean mForceTranscriptScroll;
+ private int mGlowPaddingLeft;
+ private int mGlowPaddingRight;
+
/**
* Interface definition for a callback to be invoked when the list or grid
* has been scrolled.
@@ -3314,9 +3317,11 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
final int scrollY = mScrollY;
if (!mEdgeGlowTop.isFinished()) {
final int restoreCount = canvas.save();
- final int width = getWidth() - mListPadding.left - mListPadding.right;
+ final int leftPadding = mListPadding.left + mGlowPaddingLeft;
+ final int rightPadding = mListPadding.right + mGlowPaddingRight;
+ final int width = getWidth() - leftPadding - rightPadding;
- canvas.translate(mListPadding.left,
+ canvas.translate(leftPadding,
Math.min(0, scrollY + mFirstPositionDistanceGuess));
mEdgeGlowTop.setSize(width, getHeight());
if (mEdgeGlowTop.draw(canvas)) {
@@ -3326,10 +3331,12 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
}
if (!mEdgeGlowBottom.isFinished()) {
final int restoreCount = canvas.save();
- final int width = getWidth() - mListPadding.left - mListPadding.right;
+ final int leftPadding = mListPadding.left + mGlowPaddingLeft;
+ final int rightPadding = mListPadding.right + mGlowPaddingRight;
+ final int width = getWidth() - leftPadding - rightPadding;
final int height = getHeight();
- canvas.translate(-width + mListPadding.left,
+ canvas.translate(-width + leftPadding,
Math.max(height, scrollY + mLastPositionDistanceGuess));
canvas.rotate(180, width, 0);
mEdgeGlowBottom.setSize(width, height);
@@ -3353,6 +3360,14 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
}
}
+ /**
+ * @hide
+ */
+ public void setOverScrollEffectPadding(int leftPadding, int rightPadding) {
+ mGlowPaddingLeft = leftPadding;
+ mGlowPaddingRight = rightPadding;
+ }
+
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
int action = ev.getAction();