diff --git a/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/Calibration.java b/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/Calibration.java index 736b3a7..792df15 100644 --- a/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/Calibration.java +++ b/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/Calibration.java @@ -10,9 +10,10 @@ import android.view.MotionEvent; import android.view.View; import android.view.Menu; import android.view.MenuItem; +import android.widget.Button; import android.widget.ImageView; -public class Calibration extends BaseActivity { +public class Calibration extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { @@ -33,31 +34,78 @@ public class Calibration extends BaseActivity { final ImageView Map = (ImageView) findViewById(R.id.Map); final ImageView MapMarker = (ImageView) findViewById(R.id.MapMarker); + final Button setPointButton = (Button) findViewById(R.id.setPointButton); + final Button cancelButton = (Button) findViewById(R.id.cancelButton); + final Button measureButton = (Button) findViewById(R.id.measureButton); MapMarker.setVisibility(MapMarker.INVISIBLE); + cancelButton.setVisibility(cancelButton.INVISIBLE); + cancelButton.setX(50); + measureButton.setVisibility(measureButton.INVISIBLE); + measureButton.setX(300); Map.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { - if(motionEvent.getAction()==motionEvent.ACTION_MOVE || motionEvent.getAction()==motionEvent.ACTION_UP) { + /*motionEvent.getAction()==motionEvent.ACTION_MOVE &&*/ + if( setPointButton.getVisibility() == setPointButton.INVISIBLE && motionEvent.getX() <= Map.getWidth() && motionEvent.getY() <= Map.getHeight() && motionEvent.getX() >= 0 && motionEvent.getY() >= 0) { MapMarker.setVisibility(MapMarker.VISIBLE); Snackbar.make(view, " X : " + motionEvent.getX() + " Y : " + motionEvent.getY(), Snackbar.LENGTH_LONG) .setAction("Action", null).show(); MapMarker.setX(motionEvent.getX()-(MapMarker.getWidth()/4)); - MapMarker.setY(motionEvent.getY()-(MapMarker.getHeight()/4)); + MapMarker.setY(motionEvent.getY()); } return true; } }); + setPointButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setPointButton.setVisibility(setPointButton.INVISIBLE); + cancelButton.setVisibility(cancelButton.VISIBLE); + measureButton.setVisibility(measureButton.VISIBLE); + } + }); + measureButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if(MapMarker.getVisibility()==MapMarker.INVISIBLE) { + Snackbar.make(v, "You need to set a point before measurement.", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + } + }); + cancelButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setPointButton.setVisibility(setPointButton.VISIBLE); + cancelButton.setVisibility(cancelButton.INVISIBLE); + measureButton.setVisibility(measureButton.INVISIBLE); + MapMarker.setVisibility(MapMarker.INVISIBLE); + } + }); } @Override public boolean onCreateOptionsMenu(Menu menu) { - super.onCreateOptionsMenu(menu); - MenuItem item = menu.findItem(R.id.open_locate_activity); - item.setVisible(true); + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_calibration, menu); return true; } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } } diff --git a/app/src/main/res/layout/content_calibration.xml b/app/src/main/res/layout/content_calibration.xml index 8663ffb..1285502 100644 --- a/app/src/main/res/layout/content_calibration.xml +++ b/app/src/main/res/layout/content_calibration.xml @@ -14,7 +14,7 @@ android:layout_height="wrap_content" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" - android:layout_marginTop="30dp" + android:layout_marginTop="50dp" android:paddingLeft="0dp" android:paddingTop="0dp" android:scaleType="fitXY" @@ -22,7 +22,9 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" - app:srcCompat="@drawable/map" /> + app:srcCompat="@drawable/map" + android:layout_marginStart="8dp" + android:layout_marginEnd="8dp" /> + android:layout_marginBottom="8dp" + android:layout_marginStart="8dp" + android:layout_marginEnd="8dp" /> + +