summaryrefslogtreecommitdiffstats
path: root/core/java/android/widget
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2010-12-14 18:01:36 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-12-14 18:01:36 -0800
commitd7fe27c7221f199979421688aaa8afd84d8dbf68 (patch)
tree53eeef03273a74db9736d28a47143ca650a89624 /core/java/android/widget
parenta738671790503132a277880642ca746d7a1380e9 (diff)
parentbdccc2d3db85d6489ddf332871ebf082386bae53 (diff)
downloadframeworks_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.java18
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;
}