Skip to content
Snippets Groups Projects
Commit 69ed3d58 authored by CHARLIER Quentin's avatar CHARLIER Quentin
Browse files

ajout de la ligne d'horizon

parent 8582b05b
No related branches found
No related tags found
No related merge requests found
...@@ -7,6 +7,7 @@ import android.hardware.SensorManager; ...@@ -7,6 +7,7 @@ import android.hardware.SensorManager;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle; import android.os.Bundle;
import com.example.view_editor.views.DrawBoussole; import com.example.view_editor.views.DrawBoussole;
import com.example.view_editor.views.DrawHorizon;
public class Orientations extends AppCompatActivity implements SensorEventListener{ public class Orientations extends AppCompatActivity implements SensorEventListener{
...@@ -17,6 +18,7 @@ public class Orientations extends AppCompatActivity implements SensorEventListen ...@@ -17,6 +18,7 @@ public class Orientations extends AppCompatActivity implements SensorEventListen
private float[] simpleGravity = new float[3]; private float[] simpleGravity = new float[3];
private float azimuth; // Angle en degrés private float azimuth; // Angle en degrés
DrawBoussole db; DrawBoussole db;
DrawHorizon dh;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
...@@ -24,6 +26,7 @@ public class Orientations extends AppCompatActivity implements SensorEventListen ...@@ -24,6 +26,7 @@ public class Orientations extends AppCompatActivity implements SensorEventListen
setContentView(R.layout.activity_orientations); setContentView(R.layout.activity_orientations);
db = findViewById(R.id.drawBoussole_view); db = findViewById(R.id.drawBoussole_view);
dh = findViewById(R.id.drawHorizon_view);
sm = (SensorManager) getSystemService(SENSOR_SERVICE); sm = (SensorManager) getSystemService(SENSOR_SERVICE);
sMagnet = sm.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); sMagnet = sm.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
...@@ -45,6 +48,8 @@ public class Orientations extends AppCompatActivity implements SensorEventListen ...@@ -45,6 +48,8 @@ public class Orientations extends AppCompatActivity implements SensorEventListen
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
simpleGravity = event.values; simpleGravity = event.values;
float inclinaison = (float) Math.toDegrees(Math.atan2(simpleGravity[0], simpleGravity[1]));
dh.draw(inclinaison);
} }
if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD)
......
package com.example.view_editor.views;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class DrawHorizon extends View {
Paint paint;
float inclinaison;
public DrawHorizon(Context c, AttributeSet attr){
super(c, attr);
inclinaison = 0;
paint = new Paint();
paint.setStrokeWidth(5.0f);
paint.setStyle(Paint.Style.STROKE);
}
public void draw(float inclinaison){
this.inclinaison = inclinaison;
invalidate();
}
@Override
public void onDraw(Canvas cv){
super.onDraw(cv);
int centerY = getHeight()/2;
cv.rotate(-inclinaison, getWidth()/2, centerY);
cv.drawLine(0, centerY, getWidth(), centerY, paint);
}
}
...@@ -11,5 +11,12 @@ ...@@ -11,5 +11,12 @@
android:layout_width="346dp" android:layout_width="346dp"
android:layout_height="372dp" android:id="@+id/drawBoussole_view" android:layout_height="372dp" android:id="@+id/drawBoussole_view"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toTopOf="parent"/> app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintHorizontal_bias="0.492" app:layout_constraintVertical_bias="0.896"/>
<com.example.view_editor.views.DrawHorizon
android:layout_width="405dp"
android:layout_height="134dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintBottom_toTopOf="@+id/drawBoussole_view"
app:layout_constraintTop_toTopOf="parent" android:id="@+id/drawHorizon_view"/>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment