added locations to map
This commit is contained in:
@@ -3,9 +3,35 @@
|
|||||||
"name": "rondje stad",
|
"name": "rondje stad",
|
||||||
"locations": [
|
"locations": [
|
||||||
{
|
{
|
||||||
"name": "KesCrOkÊt breeda",
|
"name":"Prison Escape Kloosterlaan 168",
|
||||||
"coordinates": "2.4654645,6.2342323",
|
"coordinates":"51.59073795635181,4.784917104321059",
|
||||||
"description": "lekkere patatjes"
|
"description":"4811EE Breda",
|
||||||
|
"imageUrl":"NULL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"De Koepel - FutureDome Events Nassausingel 26",
|
||||||
|
"coordinates":"51.590431588532105,4.786756741648511",
|
||||||
|
"description":"4811HP Breda",
|
||||||
|
"imageUrl":"NULL"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"name":"Escaping Breda: Escape Room Games Boschstraat 114",
|
||||||
|
"coordinates":" 51.59110835530862,4.784147222780912",
|
||||||
|
"description":"4811GK Breda",
|
||||||
|
"imageUrl":"NULL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"MEZZ Breda Keizerstraat 101",
|
||||||
|
"coordinates":"51.58394697737321,4.779757901349616",
|
||||||
|
"description":"4811HL Breda",
|
||||||
|
"imageUrl":"NULL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"Het Klooster Breda Schorsmolenstraat 13",
|
||||||
|
"coordinates":"51.58775443759389,4.765568874365066",
|
||||||
|
"description":"4811VN Breda",
|
||||||
|
"imageUrl":"NULL"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"totalDistance": 2.3434,
|
"totalDistance": 2.3434,
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
package com.a1.nextlocation;
|
package com.a1.nextlocation;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentTransaction;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -38,7 +36,7 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
|
|
||||||
BottomNavigationView bottomNav = findViewById(R.id.navbar);
|
BottomNavigationView bottomNav = findViewById(R.id.navigation_bar);
|
||||||
bottomNav.setOnNavigationItemSelectedListener(navListener);
|
bottomNav.setOnNavigationItemSelectedListener(navListener);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -90,8 +90,8 @@ public class Location implements Parcelable {
|
|||||||
|
|
||||||
public double[] getCoordinatesAsDoubles() {
|
public double[] getCoordinatesAsDoubles() {
|
||||||
double[] res = new double[2];
|
double[] res = new double[2];
|
||||||
res[0] = getLat();
|
res[1] = getLat();
|
||||||
res[1] = getLong();
|
res[0] = getLong();
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.a1.nextlocation.fragments;
|
package com.a1.nextlocation.fragments;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
@@ -38,11 +37,11 @@ public class CouponFragment extends Fragment {
|
|||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
View view = inflater.inflate(R.layout.fragment_coupon, container, false);
|
View view = inflater.inflate(R.layout.fragment_coupon, container, false);
|
||||||
|
|
||||||
this.couponRecyclerView = view.findViewById(R.id.couponRecyclerView);
|
this.couponRecyclerView = view.findViewById(R.id.coupon_recyclerview);
|
||||||
this.couponRecyclerView.setHasFixedSize(true);
|
this.couponRecyclerView.setHasFixedSize(true);
|
||||||
this.layoutManager = new LinearLayoutManager(this.getContext());
|
this.layoutManager = new LinearLayoutManager(this.getContext());
|
||||||
|
|
||||||
this.imageButton = view.findViewById(R.id.couponBackButton);
|
this.imageButton = view.findViewById(R.id.coupon_back_button);
|
||||||
this.imageButton.setOnClickListener(v -> {
|
this.imageButton.setOnClickListener(v -> {
|
||||||
StatisticFragment statisticFragment = new StatisticFragment();
|
StatisticFragment statisticFragment = new StatisticFragment();
|
||||||
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, statisticFragment).addToBackStack(null).commit();
|
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, statisticFragment).addToBackStack(null).commit();
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import android.Manifest;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
import android.location.Location;
|
import android.location.Location;
|
||||||
import android.location.LocationListener;
|
import android.location.LocationListener;
|
||||||
import android.location.LocationManager;
|
import android.location.LocationManager;
|
||||||
@@ -15,6 +16,7 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
@@ -31,7 +33,6 @@ import com.a1.nextlocation.network.ApiHandler;
|
|||||||
import com.a1.nextlocation.recyclerview.CouponListManager;
|
import com.a1.nextlocation.recyclerview.CouponListManager;
|
||||||
import com.a1.nextlocation.recyclerview.CustomOverlay;
|
import com.a1.nextlocation.recyclerview.CustomOverlay;
|
||||||
import com.a1.nextlocation.recyclerview.LocationListManager;
|
import com.a1.nextlocation.recyclerview.LocationListManager;
|
||||||
import com.a1.nextlocation.recyclerview.RouteListManager;
|
|
||||||
|
|
||||||
import org.osmdroid.api.IMapController;
|
import org.osmdroid.api.IMapController;
|
||||||
import org.osmdroid.bonuspack.routing.MapQuestRoadManager;
|
import org.osmdroid.bonuspack.routing.MapQuestRoadManager;
|
||||||
@@ -41,6 +42,7 @@ import org.osmdroid.bonuspack.routing.RoadManager;
|
|||||||
import org.osmdroid.config.Configuration;
|
import org.osmdroid.config.Configuration;
|
||||||
import org.osmdroid.util.GeoPoint;
|
import org.osmdroid.util.GeoPoint;
|
||||||
import org.osmdroid.views.MapView;
|
import org.osmdroid.views.MapView;
|
||||||
|
import org.osmdroid.views.overlay.ItemizedIconOverlay;
|
||||||
import org.osmdroid.views.overlay.Overlay;
|
import org.osmdroid.views.overlay.Overlay;
|
||||||
import org.osmdroid.views.overlay.OverlayItem;
|
import org.osmdroid.views.overlay.OverlayItem;
|
||||||
import org.osmdroid.views.overlay.Polyline;
|
import org.osmdroid.views.overlay.Polyline;
|
||||||
@@ -54,7 +56,7 @@ import java.util.Arrays;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class HomeFragment extends Fragment implements LocationListener {
|
public class HomeFragment extends Fragment {
|
||||||
private final String userAgent = "com.ai.nextlocation.fragments";
|
private final String userAgent = "com.ai.nextlocation.fragments";
|
||||||
public final static String MAPQUEST_API_KEY = "vuyXjqnAADpjeL9QwtgWGleIk95e36My";
|
public final static String MAPQUEST_API_KEY = "vuyXjqnAADpjeL9QwtgWGleIk95e36My";
|
||||||
private ImageButton imageButton;
|
private ImageButton imageButton;
|
||||||
@@ -133,7 +135,7 @@ public class HomeFragment extends Fragment implements LocationListener {
|
|||||||
Configuration.getInstance().setUserAgentValue(userAgent);
|
Configuration.getInstance().setUserAgentValue(userAgent);
|
||||||
|
|
||||||
// create the map view
|
// create the map view
|
||||||
mapView = view.findViewById(R.id.mapView);
|
mapView = view.findViewById(R.id.map_view);
|
||||||
mapView.setDestroyMode(false);
|
mapView.setDestroyMode(false);
|
||||||
mapView.setTag("mapView");
|
mapView.setTag("mapView");
|
||||||
mapView.setMultiTouchControls(true);
|
mapView.setMultiTouchControls(true);
|
||||||
@@ -162,8 +164,6 @@ public class HomeFragment extends Fragment implements LocationListener {
|
|||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
|
|
||||||
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
|
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
|
||||||
if( location != null ) {
|
if( location != null ) {
|
||||||
currentLocation = new GeoPoint(location.getLatitude(), location.getLongitude());
|
currentLocation = new GeoPoint(location.getLatitude(), location.getLongitude());
|
||||||
@@ -181,6 +181,14 @@ public class HomeFragment extends Fragment implements LocationListener {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
displayRoute();
|
||||||
|
addLocations();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void displayRoute() {
|
||||||
|
|
||||||
if (roadOverlay == null) {
|
if (roadOverlay == null) {
|
||||||
if (CurrentRoute.INSTANCE.getCurrentRoute() != null) {
|
if (CurrentRoute.INSTANCE.getCurrentRoute() != null) {
|
||||||
roadOverlay = CurrentRoute.INSTANCE.getCurrentRoute();
|
roadOverlay = CurrentRoute.INSTANCE.getCurrentRoute();
|
||||||
@@ -193,6 +201,34 @@ public class HomeFragment extends Fragment implements LocationListener {
|
|||||||
mapView.invalidate();
|
mapView.invalidate();
|
||||||
Log.d(TAG, "initMap: successfully added road!");
|
Log.d(TAG, "initMap: successfully added road!");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addLocations() {
|
||||||
|
List<com.a1.nextlocation.data.Location> locations = LocationListManager.INSTANCE.getLocationList();
|
||||||
|
final ArrayList<OverlayItem> items = new ArrayList<>(locations.size());
|
||||||
|
Drawable marker = this.getResources().getDrawable(R.drawable.ic_baseline_location_on_24);
|
||||||
|
for (com.a1.nextlocation.data.Location location : locations) {
|
||||||
|
OverlayItem item = new OverlayItem(location.getName(),location.getDescription(),location.convertToGeoPoint());
|
||||||
|
item.setMarker(marker);
|
||||||
|
items.add(item);
|
||||||
|
}
|
||||||
|
Overlay allLocationsOverlay = new ItemizedIconOverlay<OverlayItem>(items,
|
||||||
|
new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
|
||||||
|
@Override
|
||||||
|
public boolean onItemSingleTapUp(int index, OverlayItem item) {
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onItemLongPress(int index, OverlayItem item) {
|
||||||
|
Toast.makeText(requireContext(), locations.get(index).getName(),Toast.LENGTH_SHORT).show();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
},requireContext());
|
||||||
|
|
||||||
|
mapView.getOverlays().add(allLocationsOverlay);
|
||||||
|
Log.d(TAG, "addLocations: successfully added locations");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,32 +249,4 @@ public class HomeFragment extends Fragment implements LocationListener {
|
|||||||
REQUEST_PERMISSIONS_REQUEST_CODE);
|
REQUEST_PERMISSIONS_REQUEST_CODE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* animate to the new location
|
|
||||||
* @param location the new location
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void onLocationChanged(@NonNull Location location) {
|
|
||||||
|
|
||||||
currentLocation = new GeoPoint(location);
|
|
||||||
IMapController mapController = mapView.getController();
|
|
||||||
mapController.animateTo(new GeoPoint(location.getLatitude(),location.getLongitude()));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProviderEnabled(@NonNull String provider) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProviderDisabled(@NonNull String provider) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// this is deprecated but android is stupid and gives an error if I don't override it
|
|
||||||
@Override
|
|
||||||
public void onStatusChanged(String provider, int status, Bundle extras) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -19,20 +19,17 @@ public class LocationDetailFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
Bundle savedInstanceState) {
|
|
||||||
|
|
||||||
View view = inflater.inflate(R.layout.fragment_location_detail, container, false);
|
View view = inflater.inflate(R.layout.fragment_location_detail, container, false);
|
||||||
//
|
this.imageButton = view.findViewById(R.id.detail_location_back_button);
|
||||||
// this.imageButton = view.findViewById(R.id.detail_location_back_button);
|
this.imageButton.setOnClickListener(v -> {
|
||||||
// this.imageButton.setOnClickListener(v -> {
|
LocationFragment locationFragment = new LocationFragment();
|
||||||
// LocationFragment locationFragment = new LocationFragment();
|
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, locationFragment).addToBackStack(null).commit();
|
||||||
// ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, locationFragment).addToBackStack(null).commit();
|
});
|
||||||
// });
|
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,11 +14,9 @@ import android.widget.ImageButton;
|
|||||||
|
|
||||||
import com.a1.nextlocation.R;
|
import com.a1.nextlocation.R;
|
||||||
import com.a1.nextlocation.data.Location;
|
import com.a1.nextlocation.data.Location;
|
||||||
import com.a1.nextlocation.recyclerview.CouponAdapter;
|
|
||||||
import com.a1.nextlocation.recyclerview.LocationAdapter;
|
import com.a1.nextlocation.recyclerview.LocationAdapter;
|
||||||
import com.a1.nextlocation.recyclerview.LocationListManager;
|
import com.a1.nextlocation.recyclerview.LocationListManager;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class LocationFragment extends Fragment {
|
public class LocationFragment extends Fragment {
|
||||||
@@ -38,11 +36,11 @@ public class LocationFragment extends Fragment {
|
|||||||
|
|
||||||
View view = inflater.inflate(R.layout.fragment_location, container, false);
|
View view = inflater.inflate(R.layout.fragment_location, container, false);
|
||||||
|
|
||||||
this.locationRecyclerView = view.findViewById(R.id.locationRecyclerView);
|
this.locationRecyclerView = view.findViewById(R.id.location_recyclerview);
|
||||||
this.locationRecyclerView.setHasFixedSize(true);
|
this.locationRecyclerView.setHasFixedSize(true);
|
||||||
this.layoutManager = new LinearLayoutManager(this.getContext());
|
this.layoutManager = new LinearLayoutManager(this.getContext());
|
||||||
|
|
||||||
this.imageButton = view.findViewById(R.id.locationBackButton);
|
this.imageButton = view.findViewById(R.id.location_back_button);
|
||||||
this.imageButton.setOnClickListener(v -> {
|
this.imageButton.setOnClickListener(v -> {
|
||||||
HomeFragment homeFragment = new HomeFragment();
|
HomeFragment homeFragment = new HomeFragment();
|
||||||
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
|
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
|
||||||
|
|||||||
@@ -3,14 +3,18 @@ package com.a1.nextlocation.fragments;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.Button;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.a1.nextlocation.R;
|
import com.a1.nextlocation.R;
|
||||||
import com.a1.nextlocation.data.Route;
|
import com.a1.nextlocation.data.Route;
|
||||||
|
import com.a1.nextlocation.network.ApiHandler;
|
||||||
|
|
||||||
public class RouteDetailFragment extends Fragment {
|
public class RouteDetailFragment extends Fragment {
|
||||||
|
|
||||||
@@ -32,10 +36,17 @@ public class RouteDetailFragment extends Fragment {
|
|||||||
|
|
||||||
this.routeDetailText = view.findViewById(R.id.routeDetailText);
|
this.routeDetailText = view.findViewById(R.id.routeDetailText);
|
||||||
this.routeDetailText.setText(this.route.getName());
|
this.routeDetailText.setText(this.route.getName());
|
||||||
|
Button startButton = view.findViewById(R.id.start_route_button);
|
||||||
|
startButton.setOnClickListener(this::startRoute);
|
||||||
|
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void startRoute(View view) {
|
||||||
|
ApiHandler.INSTANCE.getDirections(route);
|
||||||
|
Toast.makeText(requireContext(),"Route started!",Toast.LENGTH_SHORT).show();
|
||||||
|
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, new HomeFragment()).addToBackStack(null).commit();
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -19,7 +19,6 @@ import com.a1.nextlocation.data.Route;
|
|||||||
import com.a1.nextlocation.recyclerview.RouteAdapter;
|
import com.a1.nextlocation.recyclerview.RouteAdapter;
|
||||||
import com.a1.nextlocation.recyclerview.RouteListManager;
|
import com.a1.nextlocation.recyclerview.RouteListManager;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.a1.nextlocation.data.Location;
|
import com.a1.nextlocation.data.Location;
|
||||||
import com.a1.nextlocation.data.Route;
|
import com.a1.nextlocation.data.Route;
|
||||||
@@ -45,7 +44,7 @@ public class RouteFragment extends Fragment {
|
|||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
View view = inflater.inflate(R.layout.fragment_route, container, false);
|
View view = inflater.inflate(R.layout.fragment_route, container, false);
|
||||||
|
|
||||||
this.routeRecyclerView = view.findViewById(R.id.routeRecyclerView);
|
this.routeRecyclerView = view.findViewById(R.id.route_recyclerview);
|
||||||
this.routeRecyclerView.setHasFixedSize(true);
|
this.routeRecyclerView.setHasFixedSize(true);
|
||||||
this.layoutManager = new LinearLayoutManager(this.getContext());
|
this.layoutManager = new LinearLayoutManager(this.getContext());
|
||||||
|
|
||||||
|
|||||||
@@ -13,14 +13,14 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="10dp"
|
android:layout_margin="10dp"
|
||||||
android:background="@drawable/ic_back_button_24"
|
android:background="@drawable/ic_back_button_24"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/routeTitle"
|
app:layout_constraintBottom_toBottomOf="@+id/route_title"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@+id/routeTitle"
|
app:layout_constraintTop_toTopOf="@+id/route_title"
|
||||||
app:layout_constraintEnd_toStartOf="@id/routeTitle"
|
app:layout_constraintEnd_toStartOf="@id/route_title"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/routeTitle"
|
android:id="@+id/route_title"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="250dp"
|
android:layout_marginEnd="250dp"
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
android:id="@+id/fragment_layout"
|
android:id="@+id/fragment_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/topBar"
|
app:layout_constraintTop_toBottomOf="@+id/top_bar"
|
||||||
app:layout_constraintBottom_toTopOf="@id/navbar"
|
app:layout_constraintBottom_toTopOf="@id/navigation_bar"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<com.google.android.material.bottomnavigation.BottomNavigationView
|
<com.google.android.material.bottomnavigation.BottomNavigationView
|
||||||
android:showAsAction="always|withText"
|
android:showAsAction="always|withText"
|
||||||
android:id="@+id/navbar"
|
android:id="@+id/navigation_bar"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/white"
|
android:background="@color/white"
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/topBar"
|
android:id="@+id/top_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="50dp"
|
android:layout_height="50dp"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
@@ -41,27 +41,27 @@
|
|||||||
android:background="@color/primaryColour"/>
|
android:background="@color/primaryColour"/>
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/infoButton"
|
android:id="@+id/info_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:src="@drawable/ic_baseline_info_24"
|
android:src="@drawable/ic_baseline_info_24"
|
||||||
android:backgroundTint="@color/primaryColour"
|
android:backgroundTint="@color/primaryColour"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@id/topBar"
|
app:layout_constraintTop_toTopOf="@id/top_bar"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/topBar"
|
app:layout_constraintBottom_toBottomOf="@id/top_bar"
|
||||||
android:tint="@color/secondaryColour"
|
android:tint="@color/secondaryColour"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
android:id="@+id/text_view"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintStart_toEndOf="@id/infoButton"
|
|
||||||
app:layout_constraintTop_toTopOf="@id/topBar"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@id/topBar"
|
|
||||||
android:text="@string/app_name"
|
android:text="@string/app_name"
|
||||||
android:textSize="25dp"
|
|
||||||
android:textColor="@color/secondaryColour"
|
android:textColor="@color/secondaryColour"
|
||||||
/>
|
android:textSize="25dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@id/top_bar"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/info_button"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/top_bar" />
|
||||||
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/Box1"
|
android:id="@+id/name_box"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="70dp"
|
android:layout_height="70dp"
|
||||||
android:layout_marginHorizontal="20dp"
|
android:layout_marginHorizontal="20dp"
|
||||||
|
|||||||
@@ -12,28 +12,30 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="9dp"
|
android:layout_margin="9dp"
|
||||||
|
android:layout_marginTop="20dp"
|
||||||
android:text="Statistics"
|
android:text="Statistics"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintStart_toEndOf="@id/couponBackButton"
|
app:layout_constraintStart_toEndOf="@id/coupon_back_button"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/couponBackButton"
|
android:id="@+id/coupon_back_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
android:background="@drawable/ic_back_button_24"
|
android:background="@drawable/ic_back_button_24"
|
||||||
android:backgroundTint="@color/buttonColour"
|
android:backgroundTint="@color/buttonColour"
|
||||||
android:text="Back"
|
android:text="Back"
|
||||||
android:layout_margin="10dp"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:id="@+id/couponRecyclerView"
|
android:id="@+id/coupon_recyclerview"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/couponBackButton" />
|
app:layout_constraintTop_toBottomOf="@+id/coupon_back_button" />
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -6,9 +6,8 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
tools:context=".fragments.HomeFragment">
|
tools:context=".fragments.HomeFragment">
|
||||||
|
|
||||||
|
|
||||||
<org.osmdroid.views.MapView
|
<org.osmdroid.views.MapView
|
||||||
android:id="@+id/mapView"
|
android:id="@+id/map_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
@@ -24,6 +23,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:layout_marginEnd="20dp"
|
android:layout_marginEnd="20dp"
|
||||||
|
android:backgroundTint="@color/secondaryColour"
|
||||||
android:src="@drawable/ic_baseline_outlined_flag_24"
|
android:src="@drawable/ic_baseline_outlined_flag_24"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|||||||
@@ -12,28 +12,31 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="9dp"
|
android:layout_margin="9dp"
|
||||||
|
android:layout_marginTop="20dp"
|
||||||
android:text="Locations"
|
android:text="Locations"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintStart_toEndOf="@id/locationBackButton"
|
app:layout_constraintStart_toEndOf="@id/location_back_button"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/locationBackButton"
|
android:id="@+id/location_back_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
android:background="@drawable/ic_back_button_24"
|
android:background="@drawable/ic_back_button_24"
|
||||||
android:backgroundTint="@color/buttonColour"
|
android:backgroundTint="@color/buttonColour"
|
||||||
android:text="Back"
|
android:text="Back"
|
||||||
android:layout_margin="10dp"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:layout_width="0dp"
|
android:id="@+id/location_recyclerview"
|
||||||
android:layout_height="0dp"
|
android:layout_width="match_parent"
|
||||||
android:id="@+id/locationRecyclerView"
|
android:layout_height="match_parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
android:layout_marginTop="60dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/routeBackButton" />
|
app:layout_constraintTop_toBottomOf="@+id/location_RV" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -44,11 +44,11 @@
|
|||||||
android:id="@+id/detail_location_back_button"
|
android:id="@+id/detail_location_back_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:src="@drawable/ic_back_button_24"
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
android:backgroundTint="@color/primaryColour"
|
android:backgroundTint="@color/primaryColour"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/detail_location_name"
|
android:src="@drawable/ic_back_button_24"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/detail_location_name"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@+id/detail_location_name" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
tools:context=".fragments.RouteFragment">
|
tools:context=".fragments.RouteFragment">
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/routeBackButton"
|
android:id="@+id/route_back_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="10dp"
|
android:layout_margin="10dp"
|
||||||
@@ -18,23 +18,23 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/routeTitle"
|
android:id="@+id/route_title"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="9dp"
|
android:layout_margin="9dp"
|
||||||
android:text="titel"
|
android:text="titel"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintStart_toEndOf="@id/routeBackButton"
|
app:layout_constraintStart_toEndOf="@id/route_back_button"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/routeRecyclerView"
|
android:id="@+id/route_recyclerview"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:background="@color/primaryColour"
|
android:background="@color/primaryColour"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/routeBackButton" />
|
app:layout_constraintTop_toBottomOf="@+id/route_back_button" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -13,13 +13,13 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="100dp"
|
android:layout_marginEnd="100dp"
|
||||||
android:background="@drawable/ic_back_button_24"
|
android:background="@drawable/ic_back_button_24"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/routeTitle"
|
app:layout_constraintBottom_toBottomOf="@id/route_title"
|
||||||
app:layout_constraintEnd_toStartOf="@id/routeTitle"
|
app:layout_constraintEnd_toStartOf="@id/route_title"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@id/routeTitle" />
|
app:layout_constraintTop_toTopOf="@id/route_title" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/routeTitle"
|
android:id="@+id/route_title"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="titel"
|
android:text="titel"
|
||||||
@@ -46,36 +46,24 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginHorizontal="20dp"
|
android:layout_marginHorizontal="20dp"
|
||||||
android:layout_marginBottom="100dp"
|
android:layout_marginTop="56dp"
|
||||||
app:layout_constraintBottom_toTopOf="@id/startRouteText"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="0.6"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/routeDetailImage" />
|
app:layout_constraintTop_toBottomOf="@id/routeDetailImage" />
|
||||||
|
|
||||||
<ImageButton
|
<Button
|
||||||
android:id="@+id/startRouteButton"
|
android:id="@+id/start_route_button"
|
||||||
android:backgroundTint="@color/primaryColour"
|
|
||||||
android:scaleX="5"
|
|
||||||
android:scaleY="5"
|
|
||||||
android:layout_width="70dp"
|
|
||||||
android:layout_height="70dp"
|
|
||||||
android:layout_margin="20dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/startRouteText"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/startRouteText"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/startRouteText"
|
|
||||||
android:src="@drawable/ic_baseline_play_arrow_24"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/startRouteText"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="20dp"
|
android:text="Start Route"
|
||||||
android:text="@string/start_route"
|
android:backgroundTint="@color/secondaryColour"
|
||||||
android:textSize="50sp"
|
android:textColor="@color/buttonColour"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/startRouteButton"
|
app:layout_constraintHorizontal_bias="0.498"
|
||||||
app:layout_constraintTop_toBottomOf="@id/routeDetailText" />
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/routeDetailText"
|
||||||
|
app:layout_constraintVertical_bias="0.671" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/Box1"
|
android:id="@+id/name_box"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="70dp"
|
android:layout_height="70dp"
|
||||||
app:layout_constraintBottom_toTopOf="@id/Box2"
|
app:layout_constraintBottom_toTopOf="@id/Box2"
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
app:layout_constraintBottom_toTopOf="@id/Box3"
|
app:layout_constraintBottom_toTopOf="@id/Box3"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/Box1"
|
app:layout_constraintTop_toBottomOf="@id/name_box"
|
||||||
|
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/Box1"
|
android:id="@+id/name_box"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="70dp"
|
android:layout_height="70dp"
|
||||||
app:layout_constraintBottom_toTopOf="@id/Box2"
|
app:layout_constraintBottom_toTopOf="@id/Box2"
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
app:layout_constraintBottom_toTopOf="@id/Box3"
|
app:layout_constraintBottom_toTopOf="@id/Box3"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/Box1"
|
app:layout_constraintTop_toBottomOf="@id/name_box"
|
||||||
|
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,6 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="location"
|
android:text="location"
|
||||||
android:textSize="20dp"
|
android:textSize="20dp"
|
||||||
app:layout_constraintStart_toEndOf="@+id/routeImage" />
|
app:layout_constraintStart_toEndOf="@+id/route_Image" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
<ImageView
|
<ImageView
|
||||||
android:layout_width="50dp"
|
android:layout_width="50dp"
|
||||||
android:layout_height="50dp"
|
android:layout_height="50dp"
|
||||||
android:id="@+id/routeImage"
|
android:id="@+id/route_Image"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
/>
|
/>
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
android:text="test text"
|
android:text="test text"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textSize="20dp"
|
android:textSize="20dp"
|
||||||
app:layout_constraintStart_toEndOf="@+id/routeImage"
|
app:layout_constraintStart_toEndOf="@+id/route_Image"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
Reference in New Issue
Block a user