Landscape in Portrait App

  • Hoi,


    glaub ich hab grad nen kleinen Denkfehler oder irgend nen hau drin, deshalb bitte ich euch mal zur hilfe:


    Hab eine App, die die Ausrichtung Portrait hat und auch so behalten soll. meine Buttons tauschen nur den Inhalt meines LinearLayouts aus, das für den Content eben bestimmt ist.
    Nun, schön, da soll jetzt eine Camera Preview rein, also ein FrameLayout, das eine SurfaceView enthält. Das Ding soll jetzt aber im Landscape sein. Mit

    Java
    camera.setDisplayOrientation(90);


    dreht es sich zwar, allerdings dreht es sich weiter, wenn ich das Handy dann neige. Also ich bin dann egal wie gehalten immer um 90° nach links gedreht ...


    Nun meine Frage, kann ich irgendwie dem FrameLayout schon sagen "du zeigst im Landscape an"? Alternativ, wie setze ich das um, was ich will? Soll auch noch paar Buttons anzeigen, die bei einer ansonsten Portrait App dann im Landscape sind ....



    Gruß,
    matze

  • Wenn du für die Camera Preview eine eigene Activity bereitstellst, dann kannst du dieser Activity explizit sagen, dass sie sich nur im Landscape Mode befinden soll bzw. sich drehen darf.


    Weiterhin kannst du meines Wissens die Layouts auch speziell für Landscape und Portrait definieren. Für Landscape ist es layout-land, für Portrait layout-port.
    http://developer.android.com/g…ources.html#Compatibility

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Hoi Lucas,


    joa, wenn ich ne extra Activity starte ist das unproblematisch. Allerdings hab ich als Vorlage eine iOS App, die ich möglichst 1:1 nachbauen darf.
    Die hat das so direkt integriert und zeigt die Preview an, während die Restlichen Menü-Buttons, Banner etc. alle noch im Portrait sind. Die zur Preview gehörenden Buttons zeigt er auch im Landscape, also zum aufnehmen und stoppen etc. ...


    Vielleicht find ich noch was, ansonsten werd ich wohl eine eigene Activity starten müssen.



    Gruß,
    matze

  • Ich hätte auch noch ein Tipp, und zwar wenn du ne eigene Activity hast kannst du die Orientation direkt im Manifest festlegen.

    Java
    <activity android:name="MainActivity"            android:screenOrientation="portrait"></activity>


    Gruß Dennis

  • Hoi,


    hab das jetzt soweit durch. Hab im Netz eine VerticalTextView gefunden und mir noch einen VerticalButton gebaut ...




    Sorgt halt für allgemeine Verwirrung und etwas Experimentierfreude, wenn man die Views dann anordnen will, da Gravity.CENTER_HORIZONTAL nicht horizontal sondern vertikal ist etc ^^


    Aufpassen sollte man auch, wenn man diese Views in ein LinearLayout hängt, dass man später noch für "normale Dinge" verwenden will. Das verkraftet diesen Horizontal-Vertikal-Wechsel nämlich nicht und ist dann dauerhaft vertauscht ... Also diese Vertical-Elemente am besten nochmal in ein eigenes Layout kippen, das man dann einfach removen kann.



    Gruß,
    matze

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!