WIP Geofavorite infowindow
This commit is contained in:
parent
d762ffe40a
commit
fd4a9c1f5d
@ -15,6 +15,7 @@ import androidx.lifecycle.Observer;
|
|||||||
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.Marker;
|
import org.osmdroid.views.overlay.Marker;
|
||||||
|
import org.osmdroid.views.overlay.infowindow.MarkerInfoWindow;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -22,6 +23,7 @@ import it.danieleverducci.nextcloudmaps.R;
|
|||||||
import it.danieleverducci.nextcloudmaps.activity.main.MainActivity;
|
import it.danieleverducci.nextcloudmaps.activity.main.MainActivity;
|
||||||
import it.danieleverducci.nextcloudmaps.model.Geofavorite;
|
import it.danieleverducci.nextcloudmaps.model.Geofavorite;
|
||||||
import it.danieleverducci.nextcloudmaps.utils.MapUtils;
|
import it.danieleverducci.nextcloudmaps.utils.MapUtils;
|
||||||
|
import it.danieleverducci.nextcloudmaps.views.GeofavMarkerInfoWindow;
|
||||||
|
|
||||||
public class GeofavoriteMapFragment extends GeofavoritesFragment {
|
public class GeofavoriteMapFragment extends GeofavoritesFragment {
|
||||||
private MapView map;
|
private MapView map;
|
||||||
@ -86,6 +88,7 @@ public class GeofavoriteMapFragment extends GeofavoritesFragment {
|
|||||||
m.setTitle(geofavorite.getName());
|
m.setTitle(geofavorite.getName());
|
||||||
m.setSnippet(geofavorite.getComment());
|
m.setSnippet(geofavorite.getComment());
|
||||||
m.setSubDescription(geofavorite.getCategory());
|
m.setSubDescription(geofavorite.getCategory());
|
||||||
|
m.setInfoWindow(new GeofavMarkerInfoWindow(map));
|
||||||
map.getOverlays().add(m);
|
map.getOverlays().add(m);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
package it.danieleverducci.nextcloudmaps.views;
|
||||||
|
|
||||||
|
import org.osmdroid.views.MapView;
|
||||||
|
import org.osmdroid.views.overlay.infowindow.MarkerInfoWindow;
|
||||||
|
|
||||||
|
import it.danieleverducci.nextcloudmaps.R;
|
||||||
|
|
||||||
|
public class GeofavMarkerInfoWindow extends MarkerInfoWindow {
|
||||||
|
/**
|
||||||
|
* @param mapView
|
||||||
|
*/
|
||||||
|
public GeofavMarkerInfoWindow(MapView mapView) {
|
||||||
|
super(R.layout.infowindow_geofav, mapView);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onOpen(Object item) {
|
||||||
|
super.onOpen(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClose() {
|
||||||
|
super.onClose();
|
||||||
|
}
|
||||||
|
}
|
10
app/src/main/res/drawable/geofav_infowindow_pointer.xml
Normal file
10
app/src/main/res/drawable/geofav_infowindow_pointer.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24.01dp"
|
||||||
|
android:height="10.67dp"
|
||||||
|
android:viewportWidth="960.34"
|
||||||
|
android:viewportHeight="426.7">
|
||||||
|
<path
|
||||||
|
android:fillColor="#FF000000"
|
||||||
|
android:pathData="M480.17,426.7C319.11,344.14 198.82,267.45 119.29,196.64 39.76,125.83 0,60.3 0,0.03c959.78,-0.23 -1.28,0.85 960.34,0 0,60.26 -39.76,125.8 -119.29,196.61 -79.53,70.81 -199.82,147.5 -360.88,230.06z"
|
||||||
|
android:strokeWidth="1.16465"/>
|
||||||
|
</vector>
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="#FFFFFF"/>
|
||||||
|
<stroke android:width="7dp" android:color="@color/defaultBrand" />
|
||||||
|
<corners android:radius="20dp"/>
|
||||||
|
</shape>
|
92
app/src/main/res/layout/infowindow_geofav.xml
Normal file
92
app/src/main/res/layout/infowindow_geofav.xml
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:minWidth="250dp"
|
||||||
|
android:background="@drawable/infowindow_geofav_background"
|
||||||
|
android:padding="7dp"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/bubble_title"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/defaultBrand"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:lines="1"
|
||||||
|
android:ellipsize="end"
|
||||||
|
style="@style/TextAppearance.GeofavoriteInfowindow"
|
||||||
|
android:text="Lorem"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/bubble_description"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="10dp"
|
||||||
|
android:text="Lorem ipsum"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/bubble_subdescription"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="10dp"
|
||||||
|
android:text="Lorem ipsum"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/action_icon_share"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:src="@drawable/ic_share"
|
||||||
|
app:tint="@color/defaultBrand"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/action_icon_nav"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:src="@drawable/ic_nav"
|
||||||
|
app:tint="@color/defaultBrand"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/action_icon_delete"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:src="@drawable/ic_delete_grey"
|
||||||
|
app:tint="@color/defaultBrand"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/bubble_image"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:src="@drawable/geofav_infowindow_pointer"
|
||||||
|
app:tint="@color/defaultBrand" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
@ -48,4 +48,8 @@
|
|||||||
<item name="android:textColor">@color/white</item>
|
<item name="android:textColor">@color/white</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.GeofavoriteInfowindow" parent="TextAppearance.AppCompat.Title">
|
||||||
|
<item name="android:textColor">@color/white</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue
Block a user