9

Ho un'app con un titolo ragionevolmente lungo (ad esempio, My Long Title App). Sto usando un ActionBar e ho notato che il titolo dell'app continua a essere troncato (ad esempio My Long Title A ...). Ciò accade anche se vengono visualizzati 2 elementi della barra delle azioni (entrambi contrassegnati come "ifRoom").Come visualizzare il titolo della actionbar Android senza verificarsi del troncamento

Qualcuno sa se c'è un modo per garantire la larghezza di attività titolo ha la priorità su elementi della barra di azione 'ifRoom' (vale a dire garantire i miei schermi titolo per intero, con elementi della barra di azione in movimento per il menu a discesa se è necessario più spazio)?

Molte grazie persone.

risposta

1

Sfortunatamente non esiste un modo per impedire il troncamento del titolo della barra delle azioni. Tuttavia, hai alcune opzioni per liberare spazio nella barra delle azioni. Puoi:

  1. Forza gli elementi di azione nel menu di overflow. Se stai usando l'ultimo ActionBarSherlock (4.2.0) è molto più difficile farlo. Vedere questo answer per una soluzione alternativa quando si utilizza 4.2.0. Se ritieni che il nuovo version non sia richiesto, puoi utilizzare ABS 4.1.0. Nella versione 4.1.0, è sufficiente impostare il tema dell'attività su @style/Theme.Sherlock.ForceOverflow. Tieni presente che non è consigliabile forzare il menu di overflow poiché fornisce una navigazione incoerente tra le app.
  2. È possibile utilizzare una barra di azione divisa e forzare gli elementi di azione nella barra di azione inferiore. Dai un'occhiata alla risposta di CommonsWare here. Per informazioni sulla barra di azione divisa, vedere here.
0

Non sono sicuro se esiste un modo semplice ma esistono più soluzioni alternative.

1) È possibile forzare il bar per andare a fondo e risparmiare spazio:

How can I force the Action Bar to be at the bottom in ICS?

http://developer.android.com/guide/topics/manifest/application-element.html

2) Impostare un titolo con carattere personalizzato: https://stackoverflow.com/a/8748802/1276103

3) È possibile impostare il titolo su due righe: https://stackoverflow.com/a/18867068/1276103

9

Stavo riscontrando questo problema con titoli della barra delle azioni molto brevi. Il titolo della barra delle azioni verrebbe troncato con ellissi anche con 5-6 stringhe di caratteri.

Se si dispone di un breve titolo (ad esempio, "Shop"), quindi chiamare ActionBar.setTitle(<inputString or resId>) dove la stringa di input è più lungo del titolo precedente, il TextView non sarà essa stessa ridimensionare per dare alla vostra nuova stanza titolo, anche se il ActionBar ha un sacco di spazio.

Prima (ShortTitle)

short title, before

// now call setTitle() with a longer title 
ActionBar actionBar = getActionBar(); 
actionBar.setTitle("Collin"); 

After (ShortTitle)

longer title, after

Soluzione

Spostare il tuo setTitle() chiamata in onCreateOptionsMenu()

risultato:

enter image description here

+0

Non capisco, in quali casi si verifica. Mi viene in mente su un grande progetto su cui lavoro, ma non sul progetto POC, non importa quanto copio da esso. Qualche idea su quando questo si verifica esattamente? –

3

Questo bug è causato quando l'ultimo titolo è più piccolo di quello nuovo, quindi il trucco è di fare che l'ultimo titolo sempre più lungo del nuovo setTitle.

Anche in Google Issue Tracker non c'è una soluzione e lo stato della questione è ormai obsoleto

Aggiornamento:. (Soluzione)

getSupportActionBar() setTitle ("");

getSupportActionBar(). SetTitle (titolo);

Problemi correlati