Italian MSMaterialDrawer - Icon Font che non sono icone..

IlCasti

Active Member
Licensed User
Longtime User
Ciao Ragazzi
Quando visualizzo il menu, al posto delle icone visualizzo caratteri giapponesi.. o simili.. immagino perchè non carichi correttamente il font. A qualcuno è capitato, se si come ha risolto?
Grazie per darmi una mano a capire.
 

Emme Developer

Well-Known Member
Licensed User
Longtime User
Ciao Ragazzi
Quando visualizzo il menu, al posto delle icone visualizzo caratteri giapponesi.. o simili.. immagino perchè non carichi correttamente il font. A qualcuno è capitato, se si come ha risolto?
Grazie per darmi una mano a capire.
Devi creare all'interno di files una cartella font e inserirci i font scaricati. Comunque ti consiglierei di passare alla DSNavigationDrawer della liberia design support
 

IlCasti

Active Member
Licensed User
Longtime User
Ciao e grazie della risposta.
La cartella font nel progetto è presente.. per questo mi sembra strano che non vada...
Mi interessava per le icon font.. adesso ci sbatto un po' la testa.. vedo se riesco a capire cosa
non la fa funzionare a dovere.

Non sapevo dell'esistenza dell'altra libreria.. supporta anch'essa le icon font?
Poi le do un'occhiata.
 

Emme Developer

Well-Known Member
Licensed User
Longtime User
Ciao e grazie della risposta.
La cartella font nel progetto è presente.. per questo mi sembra strano che non vada...
Mi interessava per le icon font.. adesso ci sbatto un po' la testa.. vedo se riesco a capire cosa
non la fa funzionare a dovere.

Non sapevo dell'esistenza dell'altra libreria.. supporta anch'essa le icon font?
Poi le do un'occhiata.
Le icon font ormai le crei tranquillamente utilizzando direttamente i font Material design e FontAwesome.
Sul forum ci sono diverse sub per l'esportazione di Drawable o Bitmap partendo dal Chr. Puoi fare tutto utilizzando quelle, senza bisogno di un utilizzare una lib esterna per i font
 

IlCasti

Active Member
Licensed User
Longtime User
Le icon font ormai le crei tranquillamente utilizzando direttamente i font Material design e FontAwesome.
Sul forum ci sono diverse sub per l'esportazione di Drawable o Bitmap partendo dal Chr. Puoi fare tutto utilizzando quelle, senza bisogno di un utilizzare una lib esterna per i font

E' un po' una giungla per me che ho appena ripreso a riguardare b4a..
Non mi linkeresti un paio di esempi?
Ti ringrazio!
 

IlCasti

Active Member
Licensed User
Longtime User

Ciao
Son qui di nuovo a rompere...
Ho scopiazzato bellamente il codice del secondo esempio, lanciato in debug e dovo averlo compilato,
vedo le icone rettangolari con le X senza visualizzare l'immagine.. Colpa mia che dimentico qualcosa?
Uso la versione 7.80 di B4A
Grazie infinite!
 

Emme Developer

Well-Known Member
Licensed User
Longtime User
Ciao
Son qui di nuovo a rompere...
Ho scopiazzato bellamente il codice del secondo esempio, lanciato in debug e dovo averlo compilato,
vedo le icone rettangolari con le X senza visualizzare l'immagine.. Colpa mia che dimentico qualcosa?
Uso la versione 7.80 di B4A
Grazie infinite!
Puoi esportare un progetto di esempio? Senza codice è complicato trovare il problema
 

Emme Developer

Well-Known Member
Licensed User
Longtime User
Non hai impostato il font alla label, l'hai solo inizializzata. Comunque non hai bisogno di usarne una per prendere il font, la classe typeface ha 2 constanti create apposta per questo

B4X:
Sub TextToBitmap (s As String, FontSize As Float) As Bitmap
   Dim bmp As Bitmap
    bmp.InitializeMutable(32dip, 32dip)
   Dim cvs As Canvas
   cvs.Initialize2(bmp)
   Dim h As Double = cvs.MeasureStringHeight(s, Typeface.FONTAWESOME, FontSize)
    cvs.DrawText(s, bmp.Width / 2, bmp.Height / 2 + h / 2, Typeface.FONTAWESOME, FontSize, Colors.White, "CENTER")
   Return bmp
End Sub

'Typeface.FONTAWESOME
'Typeface.MATERIALICONS
 

IlCasti

Active Member
Licensed User
Longtime User
Non hai impostato il font alla label, l'hai solo inizializzata. Comunque non hai bisogno di usarne una per prendere il font, la classe typeface ha 2 constanti create apposta per questo

B4X:
Sub TextToBitmap (s As String, FontSize As Float) As Bitmap
   Dim bmp As Bitmap
    bmp.InitializeMutable(32dip, 32dip)
   Dim cvs As Canvas
   cvs.Initialize2(bmp)
   Dim h As Double = cvs.MeasureStringHeight(s, Typeface.FONTAWESOME, FontSize)
    cvs.DrawText(s, bmp.Width / 2, bmp.Height / 2 + h / 2, Typeface.FONTAWESOME, FontSize, Colors.White, "CENTER")
   Return bmp
End Sub

'Typeface.FONTAWESOME
'Typeface.MATERIALICONS

Grazie!
Chiaro ora. Pensavo che il fatto di doverla "disegnare" non implicasse anche il fatto di dover inizializzare il font alla label,
ma che lo facesse in automatico sostituendo direttamente il contenuto in essa.
 

Emme Developer

Well-Known Member
Licensed User
Longtime User
Grazie!
Chiaro ora. Pensavo che il fatto di doverla "disegnare" non implicasse anche il fatto di dover inizializzare il font alla label,
ma che lo facesse in automatico sostituendo direttamente il contenuto in essa.
No, in questo caso tu stai disegnando definendo un font ben preciso. Il font nel tuo codice viene prelevato dalla label (non al contrario). Quando tu inizializzi un oggetto, questo mette tutte le proprietà in default. Il font della label di default non è uno dei due che serve a te, quindi prova a disegnarti il carattere che nel font della label corrisponde a qualche simbolo strano
 
Top