Winkelmesser mit OrientationEventListener

T

Timdroid

Neues Mitglied
0
ich möchte gernen einen Winklemesser programmieren, der den Winkel mit dem Handy misst.
Der Nullpunkt soll fixiert werden im Landscape Modus per Button.

Leider wird der Nullpunkt wenn das Handy vom Landscape in den Portrait modus wechselt wieder auf 0 gesetzt und somit ist eine Messung leider nicht möglich.

ich habe folgenden Code:

PHP:
int xNull=0;
int x=0;
int winkel=0;

OrientationEventListener myOrientationEventListener;

 myOrientationEventListener = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_NORMAL){    
            
            @Override
            public void onOrientationChanged(int arg0) {
             
             // TODO Auto-generated method stub
                x=arg0;
                winkel=xNull-x;
                
                textviewOrientation.setText("Winkel: " + String.valueOf(winkel)+"  x: " + String.valueOf(x)+"  xNull: " + String.valueOf(xNull));
              
            }};
Der Button Clickhandler ruft folgendes auf:

PHP:
private void calibrate(){
        xNull=x;
}
Was mache ich falsch?
 
Android startet Activities neu, wenn sich die Orientierung ändert.
Füg bei der betreffenden Activity im Manifest android:orientation="landscape" hinzu.
 
Danke für die Antwort mit den Activities.
Das erklärt natürlich das Ganze.

Mit der Fixierung des Bildschirms habe ich schon probiert, aber leider gefällt mir die Lösung nicht, weil der Benutzer dann den Kopf drehen muss um etwas abzulesen.

Gibt es noch eine andere Lösung?
 
Du kannst den Nullpunkt statisch machen. Das ist im OO-Sinne zwar nicht sinnvoll erfüllt aber den Zweck (wobei es sowieso nicht OO-sinnvoll ist Winkel o.Ä. in einer Activity zu haben).
 

Ähnliche Themen

B
Antworten
4
Aufrufe
470
bb321
B
FabianDev
Antworten
5
Aufrufe
548
swa00
swa00
MES
Antworten
10
Aufrufe
814
MES
MES
Zurück
Oben Unten