Ho letto della barra degli strumenti che entra nella libreria AppCompat e di tutte le sue funzionalità. Alcune delle cose che ho notato nel blog Android Developers (here) è:ActionBar vs Toolbar o ActionBar e barra degli strumenti
Toolbar è pienamente supportato in AppCompat e ha caratteristica e API parità con il widget quadro.
Hanno anche menzionato che possiamo avere maggiore controllo sul suo aspetto e aspetto.
Ma, quando aggiungo un'attività in Android Studio sto ottenendo questo:
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar_add_contacts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
Qui Toolbar è all'interno AppBar. (ActionBar e AppBar sono uguali. Non è vero?) A che cosa serve. In alcuni blog leggo anche che AppBar può essere sostituito con la barra degli strumenti delle librerie di supporto alla progettazione.
Normalmente si ottiene content_layout dopo la barra degli strumenti. quindi avremo la barra sottostante dopo la barra degli strumenti.
<include layout="@layout/content_myactivity" />
Quindi, una volta che ho avuto un problema che il contenuto è al di sopra della barra degli strumenti (utilizzato solo barra degli strumenti, non appbar all'interno) si nasconde tutta la barra degli strumenti, e ancora cliccabile. Quindi ho dovuto spostare Toolbar sotto il mio contenuto in codice per farlo apparire sopra il mio contenuto.
Quindi, che cosa usare? Toolbar? AppBarLayout? Barra degli strumenti all'interno di AppBarLayout?
Qual è l'uso previsto di ciascuno?
UPDATE:
Così ho già aggiunto Barra degli strumenti nel file activity_layout. Quindi, perché è stato necessario utilizzare setSupportActionBar(toolbar);
per impostare la barra degli strumenti e aggiungere il tema AppTheme.NoActionBar
. Questo è un comportamento normale con tutte le attività in Android Studio.
Qual è l'uso di disattivazione barra delle operazioni finestra con
<item name="windowActionBar">false</item>
e l'impostazione con setSupportActionBar(toolbar)
?
Questo è uno dei migliori domande che abbia mai visto. Venendo da più di 10 anni di sviluppo professionale e lavorando con molti linguaggi e framework di programmazione, devo dire che l'architettura e il design di Android sono davvero un rompicapo. Molte volte mi chiedo se le cose non potrebbero essere più semplici o più pulite? Ho adorato la tua domanda, perché chiedere "perché" è un aspetto molto importante della conoscenza, che SO non permette che succeda così tanto. –
@SaeedNeamati Grazie :) – kirtan403
@SaeedNeamati sono abbastanza d'accordo con te! lo sviluppo di Android è davvero terribile. – kokabi