2013-04-04 14 views
5

Nel tentativo di modificare il carattere del mio titolo ActionBar, ho individuato un answer che suggeriva di regolare lo Typeface tramite un SpannableString. Mentre funziona come indicato nella risposta, la posizione sembra deviare dall'essere centrato verticalmente.Perché il mio titolo utilizza un carattere personalizzato non centrato verticalmente nel mio ActionBar?

screenshot of title not vertically centered

Ho provato questo con due diversi tipi di carattere, sia OpenType (Roundhand) e TrueType (Billabong). Inoltre ho provato questo su un vecchio dispositivo Gingerbread (da cui proviene lo screenshot) con 2.3.3 e un dispositivo Jelly Bean più recente con 4.2. Il progetto fa uso di ActionBarSherlock e quindi è il mio ultimo colpevole teorico. Ho anche regolato la dimensione del font nella speranza di centrarlo leggermente ma so che questo non è altro che un trucco e non risolve il problema finale.

Con ciò, perché il mio titolo non è centrato in modo appropriato e come posso correggerlo? Se c'è un modo per regolare l'allineamento per la soluzione implementata di cui sopra che sarebbe certamente sufficiente, anche se ActionBarSherlock è il colpevole. Sapere qual è il colpevole e perché questo si sta verificando, tuttavia, è parte della risposta, non solo fornire una soluzione alternativa.

UPDATE:

screenshot qui sotto facendo uso di limiti Mostra di layout. Si prega di notare che per poter utilizzare il Mostra limiti di layout che questo dispositivo sta ovviamente eseguendo Jelly Bean mentre lo screenshot precedente proveniva da un dispositivo Gingerbread. In entrambi i casi, il problema è lo stesso.

enter image description here

UPDATE:

Se uso Typeface.DEFAULT quando chiamo setSpan i limiti e l'allineamento appaiono come dovrebbero.

enter image description here

UPDATE:

Upon cercando una terza fonte, sembra che il problema è infatti legato ai font.

enter image description here

+0

Puoi attivare l'opzione "Mostra formato Bounds" in Opzioni sviluppatore e inviare uno screenshot? – kcoppock

+0

@kcoppock Screenshot aggiunto e sembra essere allineato verticalmente verso l'alto. –

+0

Succede se si utilizza il carattere tipografico predefinito (Typeface.DEFAULT) come intervallo di caratteri tipografici? – kcoppock

risposta

-1

Se lo avete impostato una visualizzazione personalizzata, si può andare in xml e impostare la gravità centrato.

0

Questo sembrerà davvero stupido ma ho appena trascorso 1 ora a capire che avevo un sottotitolo sotto il titolo che era impostato sul colore dello sfondo della barra delle azioni, quindi era invisibile.

Forse questo aiuterà qualcuno, da qualche parte :)

Problemi correlati