diff options
author | Adam Powell <adamp@google.com> | 2010-12-14 18:01:36 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-12-14 18:01:36 -0800 |
commit | d7fe27c7221f199979421688aaa8afd84d8dbf68 (patch) | |
tree | 53eeef03273a74db9736d28a47143ca650a89624 /core/java/android/widget | |
parent | a738671790503132a277880642ca746d7a1380e9 (diff) | |
parent | bdccc2d3db85d6489ddf332871ebf082386bae53 (diff) | |
download | frameworks_base-d7fe27c7221f199979421688aaa8afd84d8dbf68.zip frameworks_base-d7fe27c7221f199979421688aaa8afd84d8dbf68.tar.gz frameworks_base-d7fe27c7221f199979421688aaa8afd84d8dbf68.tar.bz2 |
Merge "Fix bug 3274422 - Prevent pop-in of items in certain lists"
Diffstat (limited to 'core/java/android/widget')
-rw-r--r-- | core/java/android/widget/AbsListView.java | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index 0b4e6c3..cbd98b9 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -4126,9 +4126,19 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te final Rect listPadding = mListPadding; + // "effective padding" In this case is the amount of padding that affects + // how much space should not be filled by items. If we don't clip to padding + // there is no effective padding. + int effectivePaddingTop = 0; + int effectivePaddingBottom = 0; + if ((mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { + effectivePaddingTop = listPadding.top; + effectivePaddingBottom = listPadding.bottom; + } + // FIXME account for grid vertical spacing too? - final int spaceAbove = listPadding.top - firstTop; - final int end = getHeight() - listPadding.bottom; + final int spaceAbove = effectivePaddingTop - firstTop; + final int end = getHeight() - effectivePaddingBottom; final int spaceBelow = lastBottom - end; final int height = getHeight() - mPaddingBottom - mPaddingTop; @@ -4148,12 +4158,12 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te // Update our guesses for where the first and last views are if (firstPosition == 0) { - mFirstPositionDistanceGuess = firstTop - mListPadding.top; + mFirstPositionDistanceGuess = firstTop - listPadding.top; } else { mFirstPositionDistanceGuess += incrementalDeltaY; } if (firstPosition + childCount == mItemCount) { - mLastPositionDistanceGuess = lastBottom + mListPadding.bottom; + mLastPositionDistanceGuess = lastBottom + listPadding.bottom; } else { mLastPositionDistanceGuess += incrementalDeltaY; } |