From b477b42906a3f8b299ddaeede3940e6344fb6825 Mon Sep 17 00:00:00 2001 From: Angus Kong Date: Tue, 9 Jul 2013 09:30:32 -0700 Subject: Measure children after the dimension is determined. Also, the setMeasuredDimension() in onMeasure() is not necessary as we already called super. bug:9680271 Change-Id: I639454e515edb3027c9e79347d2124a1fcaa529b --- src/com/android/camera/ui/FilmStripView.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/com/android/camera/ui/FilmStripView.java') diff --git a/src/com/android/camera/ui/FilmStripView.java b/src/com/android/camera/ui/FilmStripView.java index c1b677204..085cba57a 100644 --- a/src/com/android/camera/ui/FilmStripView.java +++ b/src/com/android/camera/ui/FilmStripView.java @@ -348,6 +348,11 @@ public class FilmStripView extends ViewGroup { int boundWidth = MeasureSpec.getSize(widthMeasureSpec); int boundHeight = MeasureSpec.getSize(heightMeasureSpec); + if (boundWidth == 0 || boundHeight == 0) { + // Either width or height is unknown, can't measure children yet. + return; + } + if (mDataAdapter != null) { mDataAdapter.suggestDecodeSize(boundWidth / 2, boundHeight / 2); } @@ -368,7 +373,6 @@ public class FilmStripView extends ViewGroup { View.MeasureSpec.makeMeasureSpec( dim[1], View.MeasureSpec.EXACTLY)); } - setMeasuredDimension(boundWidth, boundHeight); } private int findTheNearestView(int pointX) { -- cgit v1.2.3