Chcę tylko ustawić flagi, gdy moja orientacja jest w układzie poziomym, aby po odtworzeniu działania w onCreate () mogłem przełączać między tym, co załadować w pionie a w poziomie. Mam już plik XML-układ-ziemia, który obsługuje mój układ.
public void onConfigurationChanged(Configuration _newConfig) {
if (_newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
this.loadURLData = false;
}
if (_newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
this.loadURLData = true;
}
super.onConfigurationChanged(_newConfig);
}
Over-riding onConfigurationChanged uniemożliwi ładowanie mojego xml-land-land w orientacji poziomej.
Chcę tylko uzyskać bieżącą orientację mojego urządzenia w funkcji onCreate (). Jak mogę to zdobyć?
java
android
configuration
orientation
Sheehan Alam
źródło
źródło
Gdy nadklasą
this
IsContext
źródło
W niektórych urządzeniach
void onConfigurationChanged()
może wystąpić awaria. Użytkownik użyje tego kodu, aby uzyskać bieżącą orientację ekranu.I użyć
źródło
da to całą orientację normalną i odwrotną
i radzę sobie z tym jak
źródło
final int angle = (rotation == Surface.ROTATION_90) ? 90 : (rotation == Surface.ROTATION_180) ? 180 : (rotation == Surface.ROTATION_270) ? 270 : 0;
to polecenie zwraca wartość int 1 dla Portret i 2 dla Krajobraz
źródło
W przypadku, gdy ktoś chciałby uzyskać znaczący opis orientacji (tak przekazane
onConfigurationChanged(..)
z tychreverseLandscape
,sensorLandscape
i tak dalej), wystarczy użyćgetRequestedOrientation()
źródło
W swojej klasie aktywności użyj poniższej metody:
Następnie, aby zadeklarować, że twoje działanie obsługuje zmianę konfiguracji, edytuj odpowiedni element w pliku manifestu, aby dołączyć
android:configChanges
atrybut o wartości reprezentującej konfigurację, którą chcesz obsłużyć. Możliwe wartości są wymienione w dokumentacji tegoandroid:configChanges
atrybutu (najczęściej używane wartości to „orientacja”, aby zapobiec restartowaniu, gdy zmienia się orientacja ekranu, i „klawiatura ukryta”, aby zapobiec restartowaniu, gdy zmienia się dostępność klawiatury). Możesz zadeklarować wiele wartości konfiguracji w tym atrybucie, oddzielając je potokiem | postać.To wszystko!!
źródło
jeśli chcesz przesłonić tę metodę onConfigurationChanged i nadal chcesz wykonywać podstawowe czynności, rozważ użycie super.onConfigyrationChanged () jako pierwszej instrukcji w metodzie przesłonięcia.
źródło
Chcę tylko zaproponować inną alternatywę, która dotyczy niektórych z was:
oznacza, że jednoznacznie deklarujemy układ do wstrzyknięcia.
W przypadku, gdy chcemy zachować automatyczne wprowadzanie dzięki folderom lay-land i layout. Wszystko, co musisz zrobić, to dodać go do programu onCreate:
Tutaj wyświetlamy lub nie pasek akcji w zależności od orientacji telefonu
źródło