Android Emulator - Ориентацията на екрана не работи правилно

Създадох виртуално устройство с Android, 480x800, стартирах го и тъй като вече открих как да променя екрана orientation (портрет-пейзаж, CTRL+F11/CTRL+F12/ KP7/KP9), използвах тези клавиши, за да променя orientation.

Но когато опитам един от тези клавиши, виртуалният екран се завърта на 90 градуса, но ориентацията не се променя. Следователно бутоните са разположени вертикално на екрана, както и целият текст. Точно като картина, която се завърта на 90 градуса.

Как да накарам виртуалните градуси действително да превключат към другия файл с оформление (/res/layout-land/activity_entry.xml)? Графичният визуализатор на Eclipse превключва правилно между landscape/portrait.

РЕДАКТИРАНЕ
Добавих тази част в дейността точно под този метод onCreateOptionsMenu(Menu menu), но приложението не разпознава промяната на ориентацията на екрана:

@Override
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig);
    Context context = getApplicationContext();
    CharSequence text = "Orientation changed";
    int duration = Toast.LENGTH_SHORT;

    Toast toast = Toast.makeText(context, text, duration);
    toast.show();
}

РЕДАКТИРАНЕ 2
Когато извикам this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) от метода onCreate(), той работи добре.


person stealthjong    schedule 27.08.2012    source източник
comment
Мисля, че е Ctrl+F11 и Ctrl+F12, опитайте това   -  person Numair    schedule 27.08.2012
comment
Ctrl+F12, очевидно ще работи. stackoverflow.com/questions/1991318/   -  person Anupam    schedule 27.08.2012
comment
Премахнете android:screenOrientation, ако сте го задали във вашата дейност във файла на манифеста на android   -  person Chirag    schedule 27.08.2012


Отговори (5)


Първо изключете заключване на номера и след това натиснете 7 или натиснете 9 и проверете дали ориентацията на емулатора е променена, а друг начин за промяна на ориентацията на емулатора е да натиснете ctrl+ f12.

person Dipak Keshariya    schedule 27.08.2012
comment
и KP9, и KP7 завъртат AVD на 90 градуса, но екранът не е пренареден, всичко е само завъртяно на 90 градуса, като изображение - person stealthjong; 27.08.2012
comment
Защо това се счита за отговор на въпроса? Няма значение дали сте натиснали CTRL F12 или Num Pad 7 или Num Pad 9 или .... Емулаторната програма се върти, но приложението не получава известия. - person Dale Wilson; 18.02.2014
comment
Опитах го с най-простото възможно приложение hello world на множество версии на Android със или без Google API. Със или без активирана хардуерна клавиатура. Със или със снимки. Със или без използване на GPU. С Eclipse или с Android studio. Просто не става! (беше преди много време.) - person Dale Wilson; 18.02.2014

Е, без втория $options = array(); стойностите от първия биха се разпространили (вероятно трябва да се използва различно име на променлива). Разбирам смисъла ви, но все пак смятам, че това е добра практика и много ясно показва какво се случва, за да избегнете инциденти.
person Eldhose M Babu    schedule 27.08.2012
comment
Но след като го премахнете, дейността ще бъде унищожена и пресъздадена при промяна на ориентацията. За да накарате дейността да обработи промяната без повторно създаване, използвайте атрибута android:configChanges в манифеста. - person Seva Alekseyev; 27.08.2012
comment
Нямам този комплект. За всяка дейност. Освен това опитах KP7/KP9 и CTRL+11/12, но без резултат. - person stealthjong; 27.08.2012
comment
Опитайте да щракнете върху 7, след като изключите заключването на номера. - person Eldhose M Babu; 27.08.2012

Може да откриете, както направих аз, че промяната на ориентацията всъщност е била извършена, но екранът се е променил само няколко секунди по-късно, отколкото бихте очаквали. С други думи, отговорът може да бъде „търпение скакалец“.

person Tash Pemhiwa    schedule 04.12.2013

проверете в раздела с настройки дали автоматичното завъртане е активирано, ако е изключено, включете го, след което всеки път, когато щракнете върху бутона за завъртане, той ще се завърти сам

въведете описание на изображението тук

person onik    schedule 10.01.2020

Наскоро се сблъсках с това и предоставеният тук отговор не го реши. Въпреки това намерих тази публикация:

Емулаторът на Android не се върти в хоризонтална ориентация

Което споменава, че има грешка в някои от целите на емулатора (19 например, които използвах).

Просто промяната на целта на 17 направи въртенето да започне да работи правилно.

person K5 Studios    schedule 04.01.2015