[android-developers] How to lock current orientation at runtime?
Hi, I'm trying to lock my activity to the current orientation to prevent an orientation change from restarting my activity while I'm waiting for a http response. So I'm trying to use this: setRequestedOrientation(getResources().getConfiguration().orientation); And it works fine for portrait (orientation == 1), but when the device is in landscape it's getting a value of 2 which == ActivityInfo.SCREEN_ORIENTATION_USER And this doesn't lock the screen. Does anyone have any idea why I'm getting this instead of LANDSCAPE? Any suggestions for a better way to lock the current orientation? Thanks! -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] How to lock current orientation at runtime?
Assuming you lock the orientation, how will you prevent the user from sliding out the keyboard on those devices that have it? (For the duration of your HTTP request.) Less plausible, but possible as well, from changing the phone's configured UI language? -- Kostya Vasilyev 17.07.2011 2:41 пользователь Brad bradfull...@gmail.com написал: Hi, I'm trying to lock my activity to the current orientation to prevent an orientation change from restarting my activity while I'm waiting for a http response. So I'm trying to use this: setRequestedOrientation(getResources().getConfiguration().orientation); And it works fine for portrait (orientation == 1), but when the device is in landscape it's getting a value of 2 which == ActivityInfo.SCREEN_ORIENTATION_USER And this doesn't lock the screen. Does anyone have any idea why I'm getting this instead of LANDSCAPE? Any suggestions for a better way to lock the current orientation? Thanks! -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] How to lock current orientation at runtime?
If you add android:configChanges=orientation to your activity in the manifest then the method onConfigurationChanged of your activity will be called, here you can decide what to do with the change, but most important, the activity will not be restarted. You can check this http://developer.android.com/guide/topics/resources/runtime-changes.htmlwhere it's better explained. 2011/7/16 Kostya Vasilyev kmans...@gmail.com Assuming you lock the orientation, how will you prevent the user from sliding out the keyboard on those devices that have it? (For the duration of your HTTP request.) Less plausible, but possible as well, from changing the phone's configured UI language? -- Kostya Vasilyev 17.07.2011 2:41 пользователь Brad bradfull...@gmail.com написал: Hi, I'm trying to lock my activity to the current orientation to prevent an orientation change from restarting my activity while I'm waiting for a http response. So I'm trying to use this: setRequestedOrientation(getResources().getConfiguration().orientation); And it works fine for portrait (orientation == 1), but when the device is in landscape it's getting a value of 2 which == ActivityInfo.SCREEN_ORIENTATION_USER And this doesn't lock the screen. Does anyone have any idea why I'm getting this instead of LANDSCAPE? Any suggestions for a better way to lock the current orientation? Thanks! -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] How to lock current orientation at runtime?
Those are two different orientations. The Configuration constants: http://developer.android.com/reference/android/content/res/Configuration.html#ORIENTATION_LANDSCAPE The constants for set/getRequestedOrientation(): http://developer.android.com/reference/android/content/pm/ActivityInfo.html#screenOrientation Beyond that, I would strongly recommend not doing what you are trying to do. This would result in a UI flow that is very counter to what the user expects -- that either an app is going to run in a particular orientation, or allow them to rotate their screen as they would elsewhere. Ending up locked into whatever orientation they happened to launch the app in is just not how things should work. Besides which, there are all kinds of edge cases you'll never get right -- for example what happens if they press home to leave your app, rotate their device, and then task switch back to your app? Or as another poster mention, if you lock the screen into portrait like this and they flip the lid on their keyboard the orientation won't change to landscape, which is not what they are going to want. You really, really just need to code your activity correctly to be able to destroy and re-create the activity. On Sat, Jul 16, 2011 at 3:41 PM, Brad bradfull...@gmail.com wrote: Hi, I'm trying to lock my activity to the current orientation to prevent an orientation change from restarting my activity while I'm waiting for a http response. So I'm trying to use this: setRequestedOrientation(getResources().getConfiguration().orientation); And it works fine for portrait (orientation == 1), but when the device is in landscape it's getting a value of 2 which == ActivityInfo.SCREEN_ORIENTATION_USER And this doesn't lock the screen. Does anyone have any idea why I'm getting this instead of LANDSCAPE? Any suggestions for a better way to lock the current orientation? Thanks! -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- Dianne Hackborn Android framework engineer hack...@android.com Note: please don't send private questions to me, as I don't have time to provide private support, and so won't reply to such e-mails. All such questions should be posted on public forums, where I and others can see and answer them. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en