2011-02-21 13 views
10

Znacznik android:screenOrientation po umieszczeniu w <application> nie działa. Ale po umieszczeniu android:screenOrientation w tagu <activity> to działa.android: znacznik screenOrientation w aplikacji nie działa

Jeśli tag android:screenOrientation zadziała w <application>, wówczas nie będzie potrzeby stosowania obsługi android:screenOrientation dla każdej aktywności.

Zastanawiam się, dlaczego w Androidzie występuje dziwne zachowanie dla tagu screenOrientation?

+1

po umieszczeniu w .. co? woda ? ;) – Reno

+1

Proszę ponownie sformułować swoje pytanie. – TheCottonSilk

+1

Wierzę, że pyta, dlaczego screenOrientation NIE jest attibutem , ale tylko . Zoombie? – Samuh

Odpowiedz

22

Element <application> nie obsługuje android:screenOrientation. Możesz to powiedzieć przez reading the documentation.

Co do tego, dlaczego nie jest on obsługiwany w elemencie <application>, wyobrażam sobie, że jest to przynajmniej po części dlatego, że nie powinno się go używać w wielu działaniach, a może nie we wszystkich działaniach.

Na przykład proponowane android:screenOrientation="portrait" po prostu nie powinno się robić, prawie zawsze. landscape Rozumiem, dla niektórych rodzajów aktywności (kamery, odtwarzacze wideo, niektóre gry). Ale portrait oznacza:

  • Nie chcesz, aby użytkownicy mogli korzystać z ich bocznego suwaka klawiatur sprzętowych
  • Nie chcesz, aby użytkownicy mogli używać swoich tabletek w orientacji Android naturalny krajobraz
  • nie chcesz uruchomić na Google TV

android:screenOrientation powinny być stosowane tylko na tych działaniach, które mają absolutnie pozytywnie być w tym kierunku. W przeciwnym razie szanuj życzenia użytkowników dotyczące orientacji, której chcesz użyć. Brak możliwości ustawienia go jako aplikacji jest po prostu jednym ze sposobów, aby upewnić się, że faktycznie myślisz o tym, czy jest ona potrzebna do danego działania, czy nie.

Powiązane problemy