Android Aggiunta di una barra degli strumenti


Esempio

Una Toolbar è una generalizzazione di ActionBar da utilizzare all'interno dei layout dell'applicazione. Mentre un ActionBar è tradizionalmente parte di una Activity's opaca finestra arredamento controllata dal quadro, una Toolbar può essere posta a qualsiasi livello arbitrario di nidificazione all'interno di una gerarchia vista. Può essere aggiunto effettuando le seguenti operazioni:

  1. Assicurati che la seguente dipendenza sia aggiunta al file build.gradle del tuo modulo (ad esempio app) sotto dipendenze:

    compile 'com.android.support:appcompat-v7:25.3.1'
    
  2. Imposta il tema della tua app su uno che non ha un ActionBar . Per farlo, modifica il tuo file styles.xml sotto res/values e imposta un tema Theme.AppCompat .
    In questo esempio stiamo usando Theme.AppCompat.NoActionBar come genitore del tuo AppTheme :

    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primaryDark</item>
        <item name="colorAccent">@color/accent</item>
    </style>
    

    Puoi anche utilizzare Theme.AppCompat.Light.NoActionBar o Theme.AppCompat.DayNight.NoActionBar o qualsiasi altro tema che non abbia intrinsecamente un ActionBar

  1. Aggiungi la Toolbar degli Toolbar al tuo layout delle attività:

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:elevation="4dp"/>
    

    Sotto la Toolbar degli Toolbar puoi aggiungere il resto del tuo layout.

  1. Nella tua Activity , imposta la Toolbar degli Toolbar come ActionBar per questa Activity . A condizione che si stia utilizzando la libreria app e una AppCompatActivity , si utilizzerà il metodo setSupportActionBar() :

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
     
        //...
    } 
    

Dopo aver eseguito i passaggi precedenti, è possibile utilizzare il metodo getSupportActionBar() per manipolare la Toolbar degli Toolbar impostata come ActionBar .

Ad esempio, puoi impostare il titolo come mostrato di seguito:

getSupportActionBar().setTitle("Activity Title");

Ad esempio, puoi anche impostare il colore del titolo e dello sfondo come mostrato di seguito:

CharSequence title = "Your App Name";
SpannableString s = new SpannableString(title);
s.setSpan(new ForegroundColorSpan(Color.RED), 0, title.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
getSupportActionBar().setTitle(s);
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.argb(128, 0, 0, 0)));