Android emulator - Screen rotation

2019-01-13 04:59发布

问题:

I would like to test the rotation of a phone on the emulator, I see everywhere that we have to use Ctrl+F11 but it only rotates the image of the emulator and does not launch a configuration change event or redraw the activity.

Here is what I have with Ctrl+F11 :

So, what do I have to use to simulate a real rotation ?

回答1:

As suggested by Nicolas Jafelle here, you can try to add the property "Keyboard Support-->yes" in the emulator settings. That helped me.

PS: it will also allow for your emulator to get input from your keyboard. See more here



回答2:

Also you can do:

disable accelerometer controlling rotation - just do this once

adb shell content insert --uri content://settings/system --bind name:s:accelerometer_rotation --bind value:i:0

rotate landscape:

adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1

rotate portrait:

adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:0

rotate upside down landscape:

adb shell content insert --uri content://settings/system  --bind name:s:user_rotation --bind value:i:3

rotate upside down portrait:

adb shell content insert --uri content://settings/system  --bind name:s:user_rotation --bind value:i:2

If you have WRITE_SETTINGS permission you can write thru the content provider in java code as well.



回答3:

http://developer.android.com/tools/help/emulator.html this should do it

did you also support portrait and landscape mode



回答4:

this just doesn't work in 2.3 emulators, if that's what ur using

see here:

Android - Emulator in landscape mode, screen does not rotate



回答5:

I did the same thing as you and turned the "auto-rotate screen" option on in the AVD. Worked like a charm.