2016-05-22 7 views
0

Ich habe eine Aktivität, die ein Bild zeigt, aber wenn ich die Ausrichtung ändern, das Bild strecken, so möchte ich die Breite des Layouts reduzieren.Android überprüfen, wenn die Ausrichtung Bildschirm ändern

Das Problem war, ich es schon recherchiert und versucht, dies zu tun:

Mein Actitivy

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

    // Checks the orientation of the screen 
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); 
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
     Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); 
    } 
} 

AndroidManifest

<activity 
      android:configChanges="orientation|keyboardHidden" 
</activity> 

aber nicht funktioniert. Ich versuche zu debuggen, aber erreiche niemals einen Haltepunkt innerhalb der onConfigurationChage-Methode.

Antwort

1

Diese Versuchen:

android:configChanges="orientation|screenSize" 

Da mit Android 3.2 (API Level 13) beginnend, der "Bildgröße" ändert sich auch, wenn das Gerät schaltet zwischen Hochformat und Querformat. Wenn Sie daher bei der Entwicklung für die API-Stufe 13 oder höher (wie von den Attributen minSdkVersion und targetSdkVersion deklariert) Laufzeitwiedergaben aufgrund von Orientierungsänderungen verhindern möchten, müssen Sie zusätzlich zum Wert für die Ausrichtung den Wert "screenSize" angeben. Das heißt, Sie müssen

+0

dekalare Yeah, ich habe das schon einmal gesehen, aber ich merke nicht, funktioniert gut, danke – Adley