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 merge requests found
......@@ -7,6 +7,7 @@ import android.hardware.SensorManager;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import com.example.view_editor.views.DrawBoussole;
import com.example.view_editor.views.DrawHorizon;
public class Orientations extends AppCompatActivity implements SensorEventListener{
......@@ -17,6 +18,7 @@ public class Orientations extends AppCompatActivity implements SensorEventListen
private float[] simpleGravity = new float[3];
private float azimuth; // Angle en degrés
DrawBoussole db;
DrawHorizon dh;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -24,6 +26,7 @@ public class Orientations extends AppCompatActivity implements SensorEventListen
setContentView(R.layout.activity_orientations);
db = findViewById(R.id.drawBoussole_view);
dh = findViewById(R.id.drawHorizon_view);
sm = (SensorManager) getSystemService(SENSOR_SERVICE);
sMagnet = sm.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
......@@ -45,6 +48,8 @@ public class Orientations extends AppCompatActivity implements SensorEventListen
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
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)
......
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 @@
android:layout_width="346dp"
android:layout_height="372dp" android:id="@+id/drawBoussole_view"
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>
\ 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