Fix mobile panel safe area
This commit is contained in:
1 parent
37f9f4fd09
commit
1694b5c8b1
4 files changed
+40
-3
No files matched your search
@@ -28,8 +28,8 @@
|
||||
<ApplicationId>it.liviomerola.lmemappecatastali.pro</ApplicationId>
|
||||
|
||||
<!-- Versions -->
|
||||
<ApplicationDisplayVersion>1.0.2</ApplicationDisplayVersion>
|
||||
<ApplicationVersion>102</ApplicationVersion>
|
||||
<ApplicationDisplayVersion>1.0.3</ApplicationDisplayVersion>
|
||||
<ApplicationVersion>103</ApplicationVersion>
|
||||
<Version>$(ApplicationDisplayVersion)</Version>
|
||||
|
||||
<!-- To develop, package, and publish an app to the Microsoft Store, see: https://aka.ms/MauiTemplateUnpackaged -->
|
||||
|
||||
@@ -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.Views.View>(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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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.
|
||||
|
||||
+8
-1
@@ -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 {
|
||||
|
||||
Reference in new issue
Block a user