I have an activity with a somewhat complicated view.  Not complicated in a 
technical sense...there's just a lot going on.  All activities in this 
particular app are set to FullScreen NoTitleBar, and they're all set to 
Landscape orientation.  I noticed early on in development when the app is 
hidden and then resumes, there was an infrequent tendency for the layout to 
slide down vertically as if to make room for the titlebar and statusbar.

Later on in development, the app now calls out to various external intents. 
 I notice now that there is more of a tendency to make this same shift when 
resuming from an externally handled fired intent (such as creating a 
"chooser" intent or picking an image).  I am able to reproduce it 
inconsistently using the exact same steps...sometimes it happens sometimes 
it doesn't.  It seems as if there's a race condition in between various 
phases of measuring and laying out.  I assume that one of these steps that 
the system is doing for me is checking for fullscreen and notitlebar, and 
making the necessary shift.  This is probably happening late in some cases.

I put a bunch of logging, and calls to invalidate(), requestLayout(), etc 
trying to maybe catch the race condition, but the problem seems external to 
my layouts.  The top() and bottom() values of my root layout are always 0 
and the height of my screen, respectively, even when I'm logging this while 
the issue is occurring.

I asked this on StackOverflow, and neither of the two suggestions I was 
given worked (setting the fullscreen/notitlebar business in both the xml and 
in code, and calling getWindow().getDecorView().invalidate(); ).

Is there some other method of the Window, WindowManager or any other system 
view-related object that I can force a full remeasure, redraw, re-check for 
current theme/style flags?

Thanks.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to