Podczas obracania ekranu następuje automatyczne wywołanie metod onPause, onSaveInstance, onStop a następnie onRestoreInstance i onResume. Zasadniczo zawartość pól takich jak komponenty klasy EditText nie „czyszczą” się, wszystko wraca do pierwotnej postaci po obrocie ekraniu. Nie dotyczy to pól takich klas jak TextView ani zdeklarowanych przez nas zmiennych. Wszystko jest zerowane do takiej postaci jak przy uruchomieniu aplikacji. Oczywiście możemy zaimplementować metody onSaveInstance i onRestoreInstance, a następnie przekazywać dane które mają zostać odtworzone przez obiekt klasy Bundle, jednak przy większej ilości zmiennych może to być czasochłonne. Innym wyjściem jest zablokowanie możliwości obracania ekranu. Zachowanie jak przy resetowaniu aplikacji w ogóle nie będzie miało wtedy miejsca. Niektóre aplikacje wymagają jakiejś określonej pozycji ekranu bez jej obracania. Np. dziwnie by się oglądało film wyświetlany na pionowo ustawionym ekranie. Całość sprowadza się do dodania wpisu
android:screenOrientation="portrait"
W elementcie Application w pliku manifestu. Powyższe ustawnienie (portrait) blokuje ekran w pozycji pionowej, można też ustawić na landscape – czyli poziome. Podgląd na element aplpication, czyli jak to jest zmontowane całe:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
>
<activity
android:name="com.example.gpsinfo.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
>
<intent-filter>
<action
android:name="android.intent.action.MAIN"
/>
<category
android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
android:screenOrientation="portrait" dodaje się w elemencie activity, a nie tak jak napisałeś "W elemencie Application" (chyba, że coś nie tak zrozumiałem :) ).
OdpowiedzUsuńNatomiast przykład jest dobry ;D.
activity jest elementem Application więc to tak jakby android:screenOrientation="portrait" dodawało się w elemencie Application ;)
UsuńDzięki. Tego szukałem.
OdpowiedzUsuńU mnie blokada działa ale ekran aplikacji mam do góry nogami.
OdpowiedzUsuń39 yrs old Environmental Tech Boigie Ducarne, hailing from Victoriaville enjoys watching movies like "Tale of Two Cities, A" and Shopping. Took a trip to Primeval Beech Forests of the Carpathians and drives a DeVille. dodatkowe wskazowki
OdpowiedzUsuńPomocne treści można znaleźć na tym blogu
OdpowiedzUsuńZawsze odnajduje tutaj dużo wartościowych informacji.
OdpowiedzUsuń