Commit 983f62438473fc4ea5390f4b9768f7f13a40972b
1 parent
9ac2b332
Add MapMarker and buttons
Showing
2 changed files
with
105 additions
and
9 deletions
Show diff stats
app/src/main/java/fr/utbm/lo53/p2017/positionningapp/Calibration.java
@@ -10,9 +10,10 @@ import android.view.MotionEvent; | @@ -10,9 +10,10 @@ import android.view.MotionEvent; | ||
10 | import android.view.View; | 10 | import android.view.View; |
11 | import android.view.Menu; | 11 | import android.view.Menu; |
12 | import android.view.MenuItem; | 12 | import android.view.MenuItem; |
13 | +import android.widget.Button; | ||
13 | import android.widget.ImageView; | 14 | import android.widget.ImageView; |
14 | 15 | ||
15 | -public class Calibration extends BaseActivity { | 16 | +public class Calibration extends AppCompatActivity { |
16 | 17 | ||
17 | @Override | 18 | @Override |
18 | protected void onCreate(Bundle savedInstanceState) { | 19 | protected void onCreate(Bundle savedInstanceState) { |
@@ -33,31 +34,78 @@ public class Calibration extends BaseActivity { | @@ -33,31 +34,78 @@ public class Calibration extends BaseActivity { | ||
33 | 34 | ||
34 | final ImageView Map = (ImageView) findViewById(R.id.Map); | 35 | final ImageView Map = (ImageView) findViewById(R.id.Map); |
35 | final ImageView MapMarker = (ImageView) findViewById(R.id.MapMarker); | 36 | final ImageView MapMarker = (ImageView) findViewById(R.id.MapMarker); |
37 | + final Button setPointButton = (Button) findViewById(R.id.setPointButton); | ||
38 | + final Button cancelButton = (Button) findViewById(R.id.cancelButton); | ||
39 | + final Button measureButton = (Button) findViewById(R.id.measureButton); | ||
36 | 40 | ||
37 | MapMarker.setVisibility(MapMarker.INVISIBLE); | 41 | MapMarker.setVisibility(MapMarker.INVISIBLE); |
42 | + cancelButton.setVisibility(cancelButton.INVISIBLE); | ||
43 | + cancelButton.setX(50); | ||
44 | + measureButton.setVisibility(measureButton.INVISIBLE); | ||
45 | + measureButton.setX(300); | ||
38 | 46 | ||
39 | Map.setOnTouchListener(new View.OnTouchListener() { | 47 | Map.setOnTouchListener(new View.OnTouchListener() { |
40 | @Override | 48 | @Override |
41 | public boolean onTouch(View view, MotionEvent motionEvent) { | 49 | public boolean onTouch(View view, MotionEvent motionEvent) { |
42 | - if(motionEvent.getAction()==motionEvent.ACTION_MOVE || motionEvent.getAction()==motionEvent.ACTION_UP) { | 50 | + /*motionEvent.getAction()==motionEvent.ACTION_MOVE &&*/ |
51 | + if( setPointButton.getVisibility() == setPointButton.INVISIBLE && motionEvent.getX() <= Map.getWidth() && motionEvent.getY() <= Map.getHeight() && motionEvent.getX() >= 0 && motionEvent.getY() >= 0) { | ||
43 | MapMarker.setVisibility(MapMarker.VISIBLE); | 52 | MapMarker.setVisibility(MapMarker.VISIBLE); |
44 | Snackbar.make(view, " X : " + motionEvent.getX() + " Y : " + motionEvent.getY(), Snackbar.LENGTH_LONG) | 53 | Snackbar.make(view, " X : " + motionEvent.getX() + " Y : " + motionEvent.getY(), Snackbar.LENGTH_LONG) |
45 | .setAction("Action", null).show(); | 54 | .setAction("Action", null).show(); |
46 | MapMarker.setX(motionEvent.getX()-(MapMarker.getWidth()/4)); | 55 | MapMarker.setX(motionEvent.getX()-(MapMarker.getWidth()/4)); |
47 | - MapMarker.setY(motionEvent.getY()-(MapMarker.getHeight()/4)); | 56 | + MapMarker.setY(motionEvent.getY()); |
48 | } | 57 | } |
49 | return true; | 58 | return true; |
50 | } | 59 | } |
51 | 60 | ||
52 | }); | 61 | }); |
62 | + setPointButton.setOnClickListener(new View.OnClickListener() { | ||
63 | + @Override | ||
64 | + public void onClick(View v) { | ||
65 | + setPointButton.setVisibility(setPointButton.INVISIBLE); | ||
66 | + cancelButton.setVisibility(cancelButton.VISIBLE); | ||
67 | + measureButton.setVisibility(measureButton.VISIBLE); | ||
68 | + } | ||
69 | + }); | ||
70 | + measureButton.setOnClickListener(new View.OnClickListener() { | ||
71 | + @Override | ||
72 | + public void onClick(View v) { | ||
73 | + if(MapMarker.getVisibility()==MapMarker.INVISIBLE) { | ||
74 | + Snackbar.make(v, "You need to set a point before measurement.", Snackbar.LENGTH_LONG) | ||
75 | + .setAction("Action", null).show(); | ||
76 | + } | ||
77 | + } | ||
78 | + }); | ||
79 | + cancelButton.setOnClickListener(new View.OnClickListener() { | ||
80 | + @Override | ||
81 | + public void onClick(View v) { | ||
82 | + setPointButton.setVisibility(setPointButton.VISIBLE); | ||
83 | + cancelButton.setVisibility(cancelButton.INVISIBLE); | ||
84 | + measureButton.setVisibility(measureButton.INVISIBLE); | ||
85 | + MapMarker.setVisibility(MapMarker.INVISIBLE); | ||
86 | + } | ||
87 | + }); | ||
53 | } | 88 | } |
54 | 89 | ||
55 | @Override | 90 | @Override |
56 | public boolean onCreateOptionsMenu(Menu menu) { | 91 | public boolean onCreateOptionsMenu(Menu menu) { |
57 | - super.onCreateOptionsMenu(menu); | ||
58 | - MenuItem item = menu.findItem(R.id.open_locate_activity); | ||
59 | - item.setVisible(true); | 92 | + // Inflate the menu; this adds items to the action bar if it is present. |
93 | + getMenuInflater().inflate(R.menu.menu_calibration, menu); | ||
60 | return true; | 94 | return true; |
61 | } | 95 | } |
62 | 96 | ||
97 | + @Override | ||
98 | + public boolean onOptionsItemSelected(MenuItem item) { | ||
99 | + // Handle action bar item clicks here. The action bar will | ||
100 | + // automatically handle clicks on the Home/Up button, so long | ||
101 | + // as you specify a parent activity in AndroidManifest.xml. | ||
102 | + int id = item.getItemId(); | ||
103 | + | ||
104 | + //noinspection SimplifiableIfStatement | ||
105 | + if (id == R.id.action_settings) { | ||
106 | + return true; | ||
107 | + } | ||
108 | + | ||
109 | + return super.onOptionsItemSelected(item); | ||
110 | + } | ||
63 | } | 111 | } |
app/src/main/res/layout/content_calibration.xml
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | android:layout_height="wrap_content" | 14 | android:layout_height="wrap_content" |
15 | android:layout_marginLeft="8dp" | 15 | android:layout_marginLeft="8dp" |
16 | android:layout_marginRight="8dp" | 16 | android:layout_marginRight="8dp" |
17 | - android:layout_marginTop="30dp" | 17 | + android:layout_marginTop="50dp" |
18 | android:paddingLeft="0dp" | 18 | android:paddingLeft="0dp" |
19 | android:paddingTop="0dp" | 19 | android:paddingTop="0dp" |
20 | android:scaleType="fitXY" | 20 | android:scaleType="fitXY" |
@@ -22,7 +22,9 @@ | @@ -22,7 +22,9 @@ | ||
22 | app:layout_constraintLeft_toLeftOf="parent" | 22 | app:layout_constraintLeft_toLeftOf="parent" |
23 | app:layout_constraintRight_toRightOf="parent" | 23 | app:layout_constraintRight_toRightOf="parent" |
24 | app:layout_constraintTop_toTopOf="parent" | 24 | app:layout_constraintTop_toTopOf="parent" |
25 | - app:srcCompat="@drawable/map" /> | 25 | + app:srcCompat="@drawable/map" |
26 | + android:layout_marginStart="8dp" | ||
27 | + android:layout_marginEnd="8dp" /> | ||
26 | 28 | ||
27 | <ImageView | 29 | <ImageView |
28 | android:id="@+id/MapMarker" | 30 | android:id="@+id/MapMarker" |
@@ -36,6 +38,52 @@ | @@ -36,6 +38,52 @@ | ||
36 | app:layout_constraintTop_toTopOf="@+id/Map" | 38 | app:layout_constraintTop_toTopOf="@+id/Map" |
37 | android:layout_marginTop="8dp" | 39 | android:layout_marginTop="8dp" |
38 | app:layout_constraintBottom_toBottomOf="@+id/Map" | 40 | app:layout_constraintBottom_toBottomOf="@+id/Map" |
39 | - android:layout_marginBottom="8dp" /> | 41 | + android:layout_marginBottom="8dp" |
42 | + android:layout_marginStart="8dp" | ||
43 | + android:layout_marginEnd="8dp" /> | ||
44 | + | ||
45 | + <Button | ||
46 | + android:id="@+id/setPointButton" | ||
47 | + style="@style/Widget.AppCompat.Button" | ||
48 | + android:layout_width="0dp" | ||
49 | + android:layout_height="wrap_content" | ||
50 | + android:layout_marginTop="50dp" | ||
51 | + android:text="Set Point" | ||
52 | + app:layout_constraintTop_toBottomOf="@+id/Map" | ||
53 | + android:layout_marginStart="8dp" | ||
54 | + android:layout_marginEnd="8dp" | ||
55 | + android:layout_marginLeft="8dp" | ||
56 | + app:layout_constraintLeft_toLeftOf="parent" | ||
57 | + android:layout_marginRight="8dp" | ||
58 | + app:layout_constraintRight_toRightOf="parent" | ||
59 | + app:layout_constraintHorizontal_bias="0.0" /> | ||
60 | + | ||
61 | + <Button | ||
62 | + android:id="@+id/cancelButton" | ||
63 | + android:layout_width="368dp" | ||
64 | + android:layout_height="wrap_content" | ||
65 | + android:layout_marginTop="8dp" | ||
66 | + android:text="Cancel" | ||
67 | + app:layout_constraintTop_toBottomOf="@+id/measureButton" | ||
68 | + android:layout_marginLeft="8dp" | ||
69 | + app:layout_constraintLeft_toLeftOf="parent" | ||
70 | + android:layout_marginStart="8dp" | ||
71 | + android:layout_marginEnd="8dp" | ||
72 | + android:layout_marginRight="8dp" | ||
73 | + app:layout_constraintRight_toRightOf="parent" /> | ||
74 | + | ||
75 | + <Button | ||
76 | + android:id="@+id/measureButton" | ||
77 | + android:layout_width="0dp" | ||
78 | + android:layout_height="wrap_content" | ||
79 | + android:layout_marginTop="50dp" | ||
80 | + android:text="Measure" | ||
81 | + app:layout_constraintTop_toBottomOf="@+id/Map" | ||
82 | + android:layout_marginStart="8dp" | ||
83 | + android:layout_marginEnd="8dp" | ||
84 | + android:layout_marginRight="8dp" | ||
85 | + app:layout_constraintRight_toRightOf="parent" | ||
86 | + android:layout_marginLeft="8dp" | ||
87 | + app:layout_constraintLeft_toLeftOf="parent" /> | ||
40 | 88 | ||
41 | </android.support.constraint.ConstraintLayout> | 89 | </android.support.constraint.ConstraintLayout> |