Kraft, die ein Android-Aktivität immer mit landscape-Modus
Ich bin mit dem Android VNC - viewer auf meinem HTC G1. Aber für einige Grund, die Anwendung ist immer im Querformat trotz meiner G1 ist im portrait-Modus. Da das Android-VNC-viewer ist open source, ich würde gerne wissen, wie ist es möglich, hart-code eine Tätigkeit, 'Landschaft'. Ich möchte es ändern, um die Achtung der Telefon-Orientierung.
InformationsquelleAutor hap497 | 2010-01-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Blick auf die AndroidManifest.xml (link), in Zeile 9:
Diese Zeile gibt die
screenOrientation
als Landschaft, aber der Autor geht weiter in überschreiben alle änderungen der Bildschirmausrichtung mitconfigChanges="orientation|keyboardHidden"
. Dies deutet auf eine überschriebene Funktion in VncCanvasActivity.java.Wenn man sich VncCanvasActivity, auf der Linie 109 ist die overrided Funktion:
Den Autor speziell das hinzufügen eines Kommentars zu ignorieren, die Tastatur oder die Ausrichtung ändert.
Wenn Sie dies ändern möchten, gehen Sie zurück zu der AndroidManifest.xml Datei oben gezeigt, und ändern Sie die Zeile auf:
Dies sollte sich ändern, das Programm wechseln vom hoch-ins Querformat, wenn der Nutzer das Gerät dreht.
Dies kann funktionieren, aber vielleicht mess up, wie die GUI aussieht, je nachdem, wie das layout erstellt wurden. Sie haben zu berücksichtigen. Auch, je nachdem, wie sich die Aktivitäten codiert sind, können Sie feststellen, dass, wenn die Bildschirm-Orientierung geändert wird, werden die Werte waren voll in alle input-Felder verschwinden. Dies kann auch behandelt werden.
configChanges
Attribut benötigt? Es scheint zu funktionieren auf meinem non-Tastatur Handy, ohne dass es... In welchen Situationen wird die änderung der Ausrichtung auf hochformat, wenn SiescreenOrientation="landscape"
aber weglassenconfigChanges
?in neuen Versionen sollten Sie auch angeben, screenSize :
If your application targets API level 13 or higher (as declared by the minSdkVersion and targetSdkVersion attributes), then you should also declare the "screenSize" configuration, because it also changes when a device switches between portrait and landscape orientations.
wie zu zwingen, eine integrierte Aktivitäten, wie Sie das system-image wählen Sie die Bibliothek in der Landschaft nur oder nur hochformat?
InformationsquelleAutor Pulkit Sethi
Können Sie die gleichen Daten in Ihrem java-code als auch.
Andere Werte auf ActivityInfo können Sie es zurück zu sensor-driven oder gesperrt portrait. Persönlich, ich mag, um es zu etwas in der Manifest-wie vorgeschlagen in einer anderen Antwort auf diese Frage, und dann ändern Sie es später mit dem oben genannten Aufruf in der Android SDK, wenn es einen Bedarf.
InformationsquelleAutor haseman
In meinem
OnCreate(Bundle)
ich allgemein Folgendes tun:die manifest-Methode in den anderen Antworten scheinen nicht zu funktionieren, aber @anwarma deins hast
InformationsquelleAutor anwarma
Können Sie die Ausrichtung einer Tätigkeit in dem manifest. Sehen hier.
InformationsquelleAutor Michael Krauklis
Im manifest:
In Ihre Tätigkeit:
InformationsquelleAutor avisper
Der folgende code ist der code, die ich verwendet, um alle Aktivitäten im landscape-Modus:
InformationsquelleAutor Megha
Eine schnelle und einfache Lösung für den AndroidManifest.xml Datei, fügen Sie die folgende Informationen zu jeder Aktivität, die Sie wollen, zu zwingen, den Landschaft-Modus:
InformationsquelleAutor joshgoldeneagle
Das ist es!! Lange warten auf dieses Update.
Habe ich eine alte Android-Problem, über Doppel-starten Sie eine Aktivität, die erforderlich (programmgesteuert) Querformat:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
Nun Android machen Querformat-Modus starten.
InformationsquelleAutor AndrewDC
Dies funktioniert für Xamarin.Android. In OnCreate()
InformationsquelleAutor ComeIn
Arslan,
warum wollen Sie zu zwingen, Orientierung, pro-grammatisch, obwohl es bereits eine Art manifest
<activity android:name=".youractivityName" android:screenOrientation="portrait" />
InformationsquelleAutor Blue Moon
Tut es im code ist, ist IMO falsch und sogar mehr wenn man es also in der onCreate. Tun Sie es in das manifest und das "system" weiß, dass die Ausrichtung der Start der app. Und diese Art von "meta" oder " top-level "Führung" SOLLTE in dem manifest. Wenn Sie möchten, um es zu beweisen, um sich selbst legen Sie eine Pause in der Aktivität onCreate. Wenn du es im code wird es zweimal aufgerufen werden : es beginnt im Portrait-Modus wird dann eingeschaltet, um die Landschaft. Dies geschieht nicht, wenn Sie es in dem manifest.
InformationsquelleAutor RichieHH
Für Android 4.0 (Ice Cream Sandwich) und höher, die ich brauchte, um diese, neben der
landscape
Wert.Mit nur
keyboardHidden|orientation
wäre noch zu Speicherverlusten und Erholung von meiner Tätigkeit beim drücken der power-Taste.nun, es ist der einzige Weg, um zu verhindern, dass die Aktivität wieder zurück drehen auf hochformat, wenn Sie zum Beispiel rotieren Gerät. Es verhindert, dass diese configchanges Einfluss auf die Aktivität.
Sorry für die etwas komisch Nachricht, aber getestet habe ich es und ich nicht alle diese Werte für landscape-Modus. Wenn Sie all diese Werte, es heißt, Sie behandeln die änderungen, die sich in onConfigurationChanged() statt, die die Aktivität wird gerade neu gestartet (und die Sie umsetzen müssen!) aber wenn Sie die Kraft landschape eine rotation wird nicht passieren.
Hi, einige von Ihnen sind vielleicht nicht erforderlich, aber unterlassen Sie alle führen seltsame rotation Probleme. Ich kann nicht jetzt testen, aber wenn ich die Entwicklung einer app, die benötigt werden, um in der Landschaft die ganze Zeit, nur mit
orientation|screensize
war nicht in allen Fällen ausreichend. Es würde Anz. autom. zurück zu portrait.Diese configchanges sind auch in der Google Mobile Ads und andere Ad-SDKs. Das ist, wo ich habe Sie von damals.
InformationsquelleAutor Peterdk
Verwenden Sie die ActivityInfo (android.Inhalt.pm.ActivityInfo) in Ihrer onCreate-Methode vor dem Aufruf von setLayout Methode wie diese
InformationsquelleAutor Yamikani Sita
Drücken
CTRL+F11
zum drehen des Bildschirms.STRG+f12 für den emulator.
InformationsquelleAutor Yann Pascal DEUNGOUE DJOMENI