Italian [B4X] [B4XPages] B4X Libs

luke2012

Well-Known Member
Licensed User
Longtime User
Problema risolto:
Schermata 2021-01-13 alle 09.05.49.png


Il layout .bil nella versione B4i non aveva la stessa struttura di quello b4i. Ovvero aveva solo un button e non c'era la B4XGifView1.
Ecco questa è un'altro punto di miglioramento. E' vero che puoi andare a copiare (copy and paste) il layout dal designer di B4A ma pensate ad un progetto con 10 / 15 layout (è una rottura di maroni non da poco farlo tutto a manina) :)

Noto che Erel su alcune migliorie segnalate da noi è molto collaborativo e penso che ce le troveremo nelle prossime versioni.
Ora il progettino è davvero cross-platform e gira anche sull'iPhone 12 Pro Max (iOS 14.3) :)

Schermata 2021-01-13 alle 09.06.49.png



In questo caso è il caso di dire che è stato propio un lavoro di team: tester (io), fornitore progetto (@LucaMs), supporter (@Star-Dust) ed Erel) :)
 

Attachments

  • Schermata 2021-01-13 alle 09.05.49.png
    Schermata 2021-01-13 alle 09.05.49.png
    458.7 KB · Views: 243
  • Schermata 2021-01-13 alle 09.06.49.png
    Schermata 2021-01-13 alle 09.06.49.png
    225.6 KB · Views: 226
Last edited:

luke2012

Well-Known Member
Licensed User
Longtime User
Ridimensiona le immagini (direttamente dentro il post) che sono sempre enormi!
Magari prova subito, modificando il post preDecente.

Si in effetti :) Poi dopo faccio una passata e faccio un resize.
Ora i prossimi passi che voglio fare sono:

1) Provare a testare la versione B4i su un device vero (nel mio caso iPhone 5s).
2) Capire se è possibile incorporare il progetto nella B4X Splash (quella fornita da Erel attualmente supporta solo immagini statiche).
 

luke2012

Well-Known Member
Licensed User
Longtime User
Ciao @LucaMs Buongiorno :)
Ora l'app della splash gira anche su iOS sia sull'ultima versione emulata sia su un device vero. Fantastico!

Mi stavo facendo un paio di domande:

1) B4XGifView supporta solo il formato gif (come dice il nome) oppure anche il formato APNG (n.b. non ho ancora fatto un test) ?

2) Io ho un progetto in cui avevo già integrato la B4XPages Splash Screen fornita da Erel (https://www.b4x.com/android/forum/threads/b4x-b4xpages-splash-screen.120851/): Qual'è la cosa più saggia in questo caso per fare un lavoro di integrazione riutilizzabile in altri progetti?

A) Tenere come base (template) la SplashScreenAnim per tutti i nuovi progetti B4XPages (senza utilizzare la B4XPages Splash Screen di Erel aggiornata con la B4XGifView) ?
B) Integrare SplashScreenAnim nella B4XPages Splash Screen (di Erel) e poi utilizzarla come template per tutti in nuovi progetti ?

A: Se si opta per la soluzione A (la piu lineare) per tutti i nuovi progetti in cui si vuole utilizzare le animazioni nella splash si utlizzerà sempre la SplashScreenAnim escludendo la B4XPages Splash Screen fornita da Erel e viceversa.

B: Se si sceglie la seconda opzione (che include un pò di lavoro di integrazione) si può potenzialmente utilizzare un unico progetto template (su base B4XPages Splash Screen fornita di Erel) che supporta sia le immagini statiche e le animazioni (se fattibile).

Tu / voi (che leggono) cosa ne pensate?
 

luke2012

Well-Known Member
Licensed User
Longtime User
Anche se non la ricordo benissimo, la soluzione di Erel mi sembra che richieda la presenza di una seconda Activity, per questo motivo io non la userei.

In effetti è vero che richiede l'utilizzo di una seconda activity e anche a me non fà impazzire come cosa, ma mi chiedo come mai ha dovuto inserire una seconda activity, forse per renderla compatibili con tutte le 3 piattaforme (B4A, B4i e B4J) ?
Se devo essere sincero in realtà per il progetto che sto facendo a me servirebbe che sia compatibile solo con Android e iOS.

Quindi supponendo di utilizzare la SplashScreenAnim come riferimento (che sembra funzionare molto bene sugli smartphone Android e sugli iPhone), mi chiederei se funziona correttamente anche sulla versione B4J pensando ad altri progetti che includono anche la versione desktop (dovrei fare un test).
 

LucaMs

Expert
Licensed User
Longtime User
In effetti è vero che richiede l'utilizzo di una seconda activity e anche a me non fà impazzire come cosa, ma mi chiedo come mai ha dovuto inserire una seconda activity, forse per renderla compatibili con tutte le 3 piattaforme (B4A, B4i e B4J) ?
Se devo essere sincero in realtà per il progetto che sto facendo a me servirebbe che sia compatibile solo con Android e iOS.
Non lo ricordo; credo per ottenere le dimensioni delle root? Qualcosa del genere.
Quella che hai realizzato funziona sulle 3 piattaforme, no?
 

luke2012

Well-Known Member
Licensed User
Longtime User
b4xpages_back.png
Schermata 2021-01-20 alle 18.36.25.png


Stavo testando un pò la Splash Anim in un mio progetto e mi chiedevo come fare a disabilitare il back (solo per la seconda pagina) che appare in automatico sulle pagine B4XPages. Se rimane attivo e si preme, l'utente torna alla MainPage che è una pagina vuota (nel mio progetto è utilizzata solo per la splash anim) e perde completamente la navigazione dell'app.

Un'altro piccolo problemino, è che vorrei far sparire la action bar con scritto MainPage (che appare sopra all'animazione), lasciando però tutte le altre action bar con i titoli e con le icone back.
Se imposto #IncludeTitle: false nella Main activity mi fà sparire la action bar da tutte le pagine (no buono).
 

Attachments

  • mainpage.png
    mainpage.png
    205.7 KB · Views: 224
  • Schermata 2021-01-20 alle 18.36.25.png
    Schermata 2021-01-20 alle 18.36.25.png
    159.9 KB · Views: 221
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Stavo testando un pò la Splash Anim in un mio progetto e mi chiedevo come fare a disabilitare il back (solo per la seconda pagina) che appare in automatico sulle pagine B4XPages. Se rimane attivo e si preme, l'utente torna alla MainPage che è una pagina vuota (nel mio progetto è utilizzata solo per la splash anim) e perde completamente la navigazione dell'app.
Scrivi questa routine-evento nella seconda pagina.
B4X:
Private Sub B4XPage_CloseRequest As ResumableSub
    Return False
End Sub
 

LucaMs

Expert
Licensed User
Longtime User
Un'altro piccolo problemino, è che vorrei far sparire la action bar con scritto MainPage (che appare sopra all'animazione), lasciando però tutte le altre action bar con i titoli e con le icone back.
Se imposto #IncludeTitle: false nella Main activity mi fà sparire la action bar da tutte le pagine (no buono).
B4XPages.SetTitle(Me, "")

La riga sopra "elmina" il testo "B4XMainPage" (ovviamente, dato che imposta il titolo su una stringa vuota). Rimane, però, la riga dell'Actionbar.
 

luke2012

Well-Known Member
Licensed User
Longtime User
Scrivi questa routine-evento nella seconda pagina.
B4X:
Private Sub B4XPage_CloseRequest As ResumableSub
    Return False
End Sub

Grazie del suggerimento. Mi sembra di capire che è un work around, ovvero viene comunque visualizzato l'icona di "back" della pagina e viene consumato l'evento ma senza eseguire la sua funzione (strano che nel framework / libreria B4XPages non ci sia la possibilità di nascondere il back).

Una cosa che mi viene in mente, visto che sembra non sia possibile nascondere l'icona di "back" della pagina, a questo punto si potrebbe implementare un "exit app", con toast che avverte l'utente che facendo che se lo preme ancora si esce dall'app. O è una forzatura a livello utente ?
Provo a implementarlo
 
Last edited:

luke2012

Well-Known Member
Licensed User
Longtime User
B4XPages.SetTitle(Me, "")

La riga sopra "elmina" il testo "B4XMainPage" (ovviamente, dato che imposta il titolo su una stringa vuota). Rimane, però, la riga dell'Actionbar.

Grazie per la dritta. Ho capito perfettamente il discorso. E' un work around.
Però mi sembra strano che Erel nel framework B4XPages non abbia previsto la possibilità di nascondere la action bar (per una specifica pagina).
 

luke2012

Well-Known Member
Licensed User
Longtime User
Scrivi questa routine-evento nella seconda pagina.
B4X:
Private Sub B4XPage_CloseRequest As ResumableSub
    Return False
End Sub

Risolto con un metodo nativo B4XPages...
 

luke2012

Well-Known Member
Licensed User
Longtime User
Parlando sempre di immagini e splash screen, ho aperto un post (visto che nella ricerca del forum non ho trovato quello che cercavo e che è la prima volta che affronto lo sviluppo di un'app mobile multi-piattaforma con B4X / B4XPages):
 

luke2012

Well-Known Member
Licensed User
Longtime User
Ciao @LucaMs :)
Grazie per il consiglio del post (risp. #3): https://www.b4x.com/android/forum/threads/b4x-images-and-smartphone-screens.126825/#post-793526

Quindi da quanto ho capito creo un unica immagine (da usare sia per i device Android che per gli iPhone), in questo caso una gif (animata) ad alta risoluzione.

Il tutorial che mi avevi suggerito, ovvero questo: https://www.b4x.com/android/forum/t...-fit-images-without-distortion.86627/#content è stato sconsigliato da Erel (Don't use this code. Better solution in B4XImageView (XUI Views)) per i progetti B4X e al posto di questo consiglia questo altro tutorial per i progetti B4X XUI basato sulla B4XImageView:

Prima di mettere mano a codice / ide mi chiedevo se le indicazioni di questo tutorial, che si riferisce alla B4XImageView, sono valide anche se uso una B4XGifView al posto delle B4XImageView :)
 

LucaMs

Expert
Licensed User
Longtime User
Il tutorial che mi avevi suggerito, ovvero questo: https://www.b4x.com/android/forum/t...-fit-images-without-distortion.86627/#content è stato sconsigliato da Erel (Don't use this code. Better solution in B4XImageView (XUI Views)) per i progetti B4X e al posto di questo consiglia questo altro tutorial per i progetti B4X XUI basato sulla B4XImageView:
Lo so, infatti ti avevo dato il link ma anche scritto quello, di usare B4XImageView, proprio perché consigliato da Erel in quello stesso tutorial, all'inizio.
Ma ti ho dato quel link perché spiega come funzionino le cose.
 

LucaMs

Expert
Licensed User
Longtime User
Prima di mettere mano a codice / ide mi chiedevo se le indicazioni di questo tutorial, che si riferisce alla B4XImageView, sono valide anche se uso una B4XGifView al posto delle B4XImageView
Non conosco bene le B4XGifView, ho fatto solo qualche provoletta al volo.

Ritengo che siano dimensionabili come vuoi (e quindi meglio partire da una gif animata grande). Ho notato, però, che non pochi "tipi" di gif animate non sono supportate (le vedi come immagini fisse). Stessa cosa per le APNG, purtroppo.
 

luke2012

Well-Known Member
Licensed User
Longtime User
Non conosco bene le B4XGifView, ho fatto solo qualche provoletta al volo.

Ritengo che siano dimensionabili come vuoi (e quindi meglio partire da una gif animata grande). Ho notato, però, che non pochi "tipi" di gif animate non sono supportate (le vedi come immagini fisse). Stessa cosa per le APNG, purtroppo.

Mi ha risposto Erel a proposito delle B4XGifView (#2)

Praticamente per supportare differenti modalità di resize. Per ora B4XGifView supporta solo la modalità FIT.
 
Top