Italian Barra di navigazione che si sovrappone al Layout

Fulvio75

Well-Known Member
Licensed User
Ciao a tutti ho bisogno una info:

nel manifest ho inserito:

B4X:
AddManifestText(
<uses-sdk android:minSdkVersion="21" [B]android:targetSdkVersion="36"[/B]/>
<supports-screens android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
CreateResourceFromFile(Macro, Themes.LightTheme)

anziche:

B4X:
AddManifestText(
<uses-sdk android:minSdkVersion="21" [B]android:targetSdkVersion="34"[/B]/>
<supports-screens android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
CreateResourceFromFile(Macro, Themes.LightTheme)

se cambio android:targetSdkVersion="36" la barra di navigazione quella con i 3 bottoni si sovrappone al Layout e diventa trasparente, come posso utilizzare il android:targetSdkVersion="36" senza sovrapporre la barra al Layout?
 

Alessandro71

Well-Known Member
Licensed User
Longtime User
non si imposta un target level fino a che Erel non lo definisce come supportato
attualmente è 35
 

Fulvio75

Well-Known Member
Licensed User
con 35 si sovrappone, con 34 torna normale, chatgpt dice che il problema è quello, con >34 la barra di navigazione ha questo aspetto e diventa trasparente se sovrapposta al Layout, quindi bisogna adattare il Layout dell'app tenedo conto dell'altezza della barra di navigazione
 

Alessandro71

Well-Known Member
Licensed User
Longtime User
chatgpt avrebbe dovuto indirizzarti qui:
 

Fulvio75

Well-Known Member
Licensed User
Funziona:

B4X:
AddManifestText(
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="35"/>
<supports-screens android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")

SetApplicationAttribute(android:theme, "@style/LightTheme")
CreateResource(values, theme.xml,
<resources>
    <style
        name="LightTheme" parent="@android:style/Theme.Material.Light">
       <item name="android:actionMenuTextAppearance">@style/LowerCaseMenu</item>
       <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item>
       <item name="android:navigationBarColor">#FF0000FF</item>
    </style>
     <style name="LowerCaseMenu" parent="android:TextAppearance.Material.Widget.ActionBar.Menu">
        <item name="android:textAllCaps">false</item>
    </style>
</resources>
)
 

Sagenut

Expert
Licensed User
Longtime User
Ricorda che è una soluzione temporanea che massimo tra un anno Google rimuoverà.
A quel punto o gestisci i layout in 2 maniere verificando il livello di SDK del device oppure uso l'immersive mode e ottieni tutto lo schermo nascondendo le barre superiore e inferiore.
 

Sagenut

Expert
Licensed User
Longtime User
Andrà peggio con sdk36 che ruoterà forzatamente le app.
Anche lì si scapperà per un anno e poi....
 

Fulvio75

Well-Known Member
Licensed User
Ricorda che è una soluzione temporanea che massimo tra un anno Google rimuoverà.
A quel punto o gestisci i layout in 2 maniere verificando il livello di SDK del device oppure uso l'immersive mode e ottieni tutto lo schermo nascondendo le barre superiore e inferiore.
Maledizione sempre problemi
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Faccio presente che attualmente fra il software che viene suggerito di installare per B4A c'è il file "resources_7_25" (presumibilmente del luglio 2025) estratto il quale appare l' SDK numero 36. Ritengo quindi che debba esser questa la versione che fin d'ora si può utilizzare (cosa che peraltro faccio io).
Se viene suggerito da sito di B4X ...
 

Sagenut

Expert
Licensed User
Longtime User
Viene suggerito di usare l'sdk di Android 36 per la compilazione, ma ciò non è correlato con il Target SDK da impostare nel Manifest.
Per ora Google richiede che il Target sia 35.
Nulla vieta di impostarlo a 36, ma si rischia di auto imporsi già da ora nuovi paletti che magari B4A non è ancora pronto a gestire.
Se uno comunque non rileva problemi lo può fare tranquillamente.
Al limite è una correzione veloce. :)
 
Top