WIP Geofavorite infowindow
This commit is contained in:
		@@ -15,6 +15,7 @@ import androidx.lifecycle.Observer;
 | 
			
		||||
import org.osmdroid.util.GeoPoint;
 | 
			
		||||
import org.osmdroid.views.MapView;
 | 
			
		||||
import org.osmdroid.views.overlay.Marker;
 | 
			
		||||
import org.osmdroid.views.overlay.infowindow.MarkerInfoWindow;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@@ -22,6 +23,7 @@ import it.danieleverducci.nextcloudmaps.R;
 | 
			
		||||
import it.danieleverducci.nextcloudmaps.activity.main.MainActivity;
 | 
			
		||||
import it.danieleverducci.nextcloudmaps.model.Geofavorite;
 | 
			
		||||
import it.danieleverducci.nextcloudmaps.utils.MapUtils;
 | 
			
		||||
import it.danieleverducci.nextcloudmaps.views.GeofavMarkerInfoWindow;
 | 
			
		||||
 | 
			
		||||
public class GeofavoriteMapFragment extends GeofavoritesFragment {
 | 
			
		||||
    private MapView map;
 | 
			
		||||
@@ -86,6 +88,7 @@ public class GeofavoriteMapFragment extends GeofavoritesFragment {
 | 
			
		||||
        m.setTitle(geofavorite.getName());
 | 
			
		||||
        m.setSnippet(geofavorite.getComment());
 | 
			
		||||
        m.setSubDescription(geofavorite.getCategory());
 | 
			
		||||
        m.setInfoWindow(new GeofavMarkerInfoWindow(map));
 | 
			
		||||
        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>
 | 
			
		||||
    </style>
 | 
			
		||||
 | 
			
		||||
    <style name="TextAppearance.GeofavoriteInfowindow" parent="TextAppearance.AppCompat.Title">
 | 
			
		||||
        <item name="android:textColor">@color/white</item>
 | 
			
		||||
    </style>
 | 
			
		||||
 | 
			
		||||
</resources>
 | 
			
		||||
		Reference in New Issue
	
	Block a user