diff --git a/LMEMappeCatastaliApp.csproj b/LMEMappeCatastaliApp.csproj
index 7a33178..2fcda19 100644
--- a/LMEMappeCatastaliApp.csproj
+++ b/LMEMappeCatastaliApp.csproj
@@ -28,8 +28,8 @@
it.liviomerola.lmemappecatastali.pro
- 1.0.2
- 102
+ 1.0.3
+ 103
$(ApplicationDisplayVersion)
diff --git a/Platforms/Android/MainActivity.cs b/Platforms/Android/MainActivity.cs
index d8ce88a..abf1583 100644
--- a/Platforms/Android/MainActivity.cs
+++ b/Platforms/Android/MainActivity.cs
@@ -4,6 +4,8 @@ using Android.Content.PM;
using Android.Database;
using Android.OS;
using Android.Provider;
+using Android.Views;
+using AndroidX.Core.View;
using LMEMappeCatastaliApp.Services;
namespace LMEMappeCatastaliApp;
@@ -24,9 +26,18 @@ public class MainActivity : MauiAppCompatActivity
protected override void OnCreate(Bundle? savedInstanceState)
{
base.OnCreate(savedInstanceState);
+ ApplySystemBarInsets();
QueueViewedFile(Intent);
}
+ private void ApplySystemBarInsets()
+ {
+ var content = FindViewById(Android.Resource.Id.Content);
+ if (content is null) return;
+ ViewCompat.SetOnApplyWindowInsetsListener(content, new SystemBarInsetsListener(content));
+ ViewCompat.RequestApplyInsets(content);
+ }
+
protected override void OnNewIntent(Intent? intent)
{
base.OnNewIntent(intent);
@@ -80,4 +91,19 @@ public class MainActivity : MauiAppCompatActivity
var index = cursor.GetColumnIndex(IOpenableColumns.DisplayName);
return index >= 0 ? cursor.GetString(index) : null;
}
+
+ private sealed class SystemBarInsetsListener(Android.Views.View content) : Java.Lang.Object, IOnApplyWindowInsetsListener
+ {
+ private readonly int _left = content.PaddingLeft;
+ private readonly int _top = content.PaddingTop;
+ private readonly int _right = content.PaddingRight;
+
+ public WindowInsetsCompat? OnApplyWindowInsets(Android.Views.View? view, WindowInsetsCompat? insets)
+ {
+ if (view is null || insets is null) return insets;
+ var systemBars = insets.GetInsets(WindowInsetsCompat.Type.SystemBars());
+ view.SetPadding(_left, _top, _right, systemBars?.Bottom ?? 0);
+ return insets;
+ }
+ }
}
diff --git a/README.md b/README.md
index ca97188..e41265c 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,10 @@
App .NET MAUI Blazor Hybrid per Android, iOS, Mac Catalyst e Windows, pensata per consultare mappe catastali e lavorare sul campo con GPS.
+## Versione Pro 1.0.3 test
+
+- I pannelli mobili rispettano la barra di navigazione Android e mantengono il pulsante Help completamente raggiungibile tramite scorrimento.
+
## Versione Pro 1.0.2 test
- Linee e punti KML/KMZ vengono sempre importati, anche quando il documento viene riconosciuto come catastale; il filtro particelle separa soltanto i poligoni di foglio o cornice.
diff --git a/wwwroot/css/app.css b/wwwroot/css/app.css
index 0cda944..c54fde2 100644
--- a/wwwroot/css/app.css
+++ b/wwwroot/css/app.css
@@ -1295,6 +1295,8 @@ input[type="checkbox"] {
z-index: 1100;
display: flex;
flex-direction: column;
+ min-height: 0;
+ overflow: hidden;
width: min(430px, calc(100% - 48px));
border-left: 1px solid var(--line);
background: var(--panel);
@@ -1347,10 +1349,15 @@ h2 {
}
.panel-content {
+ flex: 1 1 auto;
+ min-height: 0;
display: grid;
+ align-content: start;
gap: 12px;
overflow-y: auto;
- padding: 15px 16px 24px;
+ overscroll-behavior: contain;
+ padding: 15px 16px max(32px, calc(24px + env(safe-area-inset-bottom)));
+ scroll-padding-bottom: max(32px, calc(24px + env(safe-area-inset-bottom)));
}
.panel-section {