2012-04-03 16 views
10

Opracowałem jedną aplikację i skonfigurowałem jej orientację poziomą, aby zawsze była wyświetlana w widoku poziomym na urządzeniu.Jak obrócić aplikację o 180 stopni do góry nogami podczas obracania urządzenia o 180 stopni do góry nogami?

Teraz chcę obrócić go o 180 stopni do góry nogami, gdy użytkownik obróci urządzenie o 180 stopni do góry nogami, aby odpowiednio dostosować i wyświetlać je użytkownikowi. Obecnie, jeśli obracam urządzenie o 180 stopni do góry nogami, Moja aplikacja nie dopasuj odpowiednio do rotacji, aby wyświetlał się na odwrót (od dołu do góry), na przykład: załóżmy, że moja aktywność ma 2 pola tekstowe na górze i 2 przyciski na dole, więc jeśli obrócisz urządzenie o 180 stopni do góry nogami, Aktywność nie dostosowuje się odpowiednio, więc użytkownik widzi przyciski na górze, a pola tekstowe są na dole, co jest niewłaściwe, powinno się korygować/obracać zgodnie z obrotem urządzenia i musi wyświetlać pola tekstowe na górze i przyciski na dole.

Podaj swoje wartościowe rozwiązania, aby rozwiązać ten problem.

Pozdrawiam, Pīks

+0

hei ,, rzeczywiście chcę przeciwieństwo twojego pytania, nie chcę, żeby odwrócił 180. Jak to zrobiłeś, –

Odpowiedz

5

w pliku AndroidManifest.xml, trzeba skonfigurować <activity> używać orientacji od czujnika. Powinno to być domyślne, ale można je zmusić do orientacji czujnika, dla wszystkich 4 możliwych orientacji, z android:screenOrientation="fullSensor". Zobacz http://developer.android.com/guide/topics/manifest/activity-element.html#screen

EDIT: Jeśli chcesz, aby umożliwić wszystkim jednak jednej orientacji, można wyłączyć tę orientację, przechwytując zdarzenie zmiany orientacji i uchylenia go w Activity:

public void onConfigurationChanged(Configuration config) { 
    if (config.orientation != Activity.ORIENTATION_PORTRAIT) { 
    setRequestedOrientation(config.orientation); 
    { 
} 

(to od szczytu mam głowę, ale myślę, że to działa, lub coś prawie jak to.)

Musisz poinformować Androida, że ​​aplikacja może obsłużyć zmiany orientacji również w twoim <activity> z android:configChanges="orientation".

+0

Dzięki za cenne dane wejściowe, ale wydaje się, że nie jest obsługiwany w Androidzie 2.1 api poziom 7 Czy jest jakiś sposób na wsparcie w wersji 2.1 na poziomie 7? I nie chcę obracać mojej aplikacji w trybie pionowym, więc muszę naprawić orientację aplikacji, to Krajobraz, ale powinien pozwolić mi obrócić się o 180 stopni do góry nogami. – piks

+0

"Czujnik" działa również, ale może nie zezwalać na orientację odwróconego krajobrazu na niektórych urządzeniach. Zmienię moją odpowiedź w taki sposób, aby wykluczyć jedną orientację. –

+0

powyższy kod nie działa zgodnie z oczekiwaniami, po obróceniu urządzenia o 180 stopni, aktywność nie zmienia się tak, aby wyświetlała się zgodnie z obrotem urządzenia. – piks

13

określić:

android:screenOrientation="sensorLandscape" 

w AndroidManifest.xml. Spowoduje to przekształcenie aplikacji między krajobrazem i odwrotnością krajobrazu.

+0

Po przejściu 10-12 odpowiedzi i po spędzeniu 2-3 godzin, ta odpowiedź rozwiązała mój problem w ciągu sekundy. –

+0

Dziękuję, to działa !!!! –

Powiązane problemy