summaryrefslogtreecommitdiff
path: root/core/java/android/widget/StackView.java
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2011-01-21 17:46:11 -0800
committerAdam Cohen <adamcohen@google.com>2011-01-21 17:59:29 -0800
commite86ff4d56145d875c13a1637833f9f55d79febc9 (patch)
tree4cc141251914572bcedb074321ff5c4da5e22511 /core/java/android/widget/StackView.java
parentef17dd497edc14ca753616862efaa3457e1df5da (diff)
Fixing a couple StackView bugs:
-> Making sure to update visuals every time adapter count changes -> Fixing a clipping issue seen on some devices Change-Id: I489395b5caaa06eb7187b2dac679b793bf54d7e1
Diffstat (limited to 'core/java/android/widget/StackView.java')
-rw-r--r--core/java/android/widget/StackView.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/core/java/android/widget/StackView.java b/core/java/android/widget/StackView.java
index 9ec4b74c59e3..03c073c3d10b 100644
--- a/core/java/android/widget/StackView.java
+++ b/core/java/android/widget/StackView.java
@@ -454,9 +454,13 @@ public class StackView extends AdapterViewAnimator {
canvas.getClipBounds(stackInvalidateRect);
final int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
- LayoutParams lp = (LayoutParams) getChildAt(i).getLayoutParams();
+ final View child = getChildAt(i);
+ LayoutParams lp = (LayoutParams) child.getLayoutParams();
+ if ((lp.horizontalOffset == 0 && lp.verticalOffset == 0) ||
+ child.getAlpha() == 0f || child.getVisibility() != VISIBLE) {
+ lp.resetInvalidateRect();
+ }
stackInvalidateRect.union(lp.getInvalidateRect());
- lp.resetInvalidateRect();
}
canvas.save(Canvas.CLIP_SAVE_FLAG);
canvas.clipRect(stackInvalidateRect, Region.Op.UNION);