11

Sono consapevole che ci sono due metodi per impostare un titolo in un Android Activity.getSupportActionBar(). SetTitle() vs toolbar.setTitle()

Supponendo che ho già il seguente codice ...

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.my_activity); 

    ... 

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar); 
    setSupportActionBar(toolbar); 

... posso utilizzare questo ...

getSupportActionBar().setTitle("My title"); 

... o questo ...

toolbar.setTitle("My title"); 

... per impostare il mio titolo.

La mia domanda è, qual è la pratica migliore?

+0

Dal momento che si dispone di un oggetto barra degli strumenti, perché non usare i suoi metodi? –

+0

Se possiedi già una barra degli strumenti, è certamente meglio usare i suoi metodi. Quindi usa toolbar.setTitle(). – pandabear

+0

A volte mi manca il metodo di concatenamento .. 'setSupportActionbar (barra degli strumenti) .setTitle (R.string.title);' Ma non si può nemmeno 'setSupportActionbar (toolbar.setTitle (R.string.title));' – Tapirboy

risposta

15

Se si chiama setSupportActionBar(Toolbar), , la barra di azione è quindi responsabile della gestione del titolo, pertanto è necessario chiamare getSupportActionBar().setTitle("My Title"); per impostare un titolo personalizzato.

controllare anche questo link dove toolbar.setTitle("My title"); può provocare problemi come di seguito: - In android app Toolbar.setTitle method has no effect – application name is shown as title

E barra degli strumenti è la forma generale della barra delle operazioni.

Possiamo avere più barre degli strumenti come widget di layout ma l'azione no.

Così migliore approccio è quello di utilizzare getSupportActionBar().setTitle("My Title");

+1

Does questo significa anche che 'getSupportActionBar(). setHomeAsUpIndicator (int)' è una procedura migliore di 'toolbar.setNavigationIcon (int)', o sono leggermente differenti? –

+1

hai capito ....... – Androider

0
setSupportActionBar(toolbar); 

Lo scopo di questa riga è di impostare la barra degli strumenti passata come barra delle applicazioni. Quindi in questo modo in entrambi i casi è perfettamente accettabile; personalmente come hai già creato una barra degli strumenti, vorrei impostare il titolo della barra degli strumenti prima di passarla usando il metodo sopra.

Problemi correlati