Imbottitura barra degli strumenti Android API 21

Come posso eliminare l'imbottitura aggiuntiva nella nuova barra degli strumenti con l'applicazione Android SDK versione 21 (la libreria di supporto)?

Sto parlando delle frecce rosse in questa foto: immettere qui la descrizione dell'immagine

  • Prendi le chiavi di arrays di json in android
  • Valore di versione di User di AndroidManifest.xml nel codice
  • Cambiare la priorità di ListView - comportmento strano
  • android: Imposta il collegamento con <a href> in TextView
  • Come posso scegliere un numero di telefono con la window di dialogo Contatti di Android?
  • Ho bisogno di esempi semplici di animation Android
  • Ecco il codice che sto usando:

    <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:background="?attr/colorPrimary" android:padding="0dp" android:layout_margin="0dp"> <RelativeLayout android:id="@+id/action_bar_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="0dp" android:padding="0dp" android:background="#000000"> <Spinner android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout> </Toolbar> 

    Come potete vedere, ho impostato tutto il riempimento pertinente su 0, ma c'è ancora l'imbottitura intorno al Spinner. Che cosa ho fatto male o cosa devo fare per sbarazzarsi dell'imbottitura supplementare?

    Modifica Alcuni hanno messo in discussione il motivo per cui sto cercando di farlo.

    Secondo le specifiche del materiale, il filatore dovrebbe essere 72 dp dalla parte di sinistra disc

    Ho bisogno di neutralizzare l'imbottitura che Google ha messo lì in modo da posizionare correttamente il mio filatore: disc

    Modifica 2

    Come segue per la risposta di Chris Bane, ho impostato il contenutoInsetStart a 0. Per la libreria di supporto, dovrai utilizzare lo spazio dei nomi app:

     <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:minHeight="@dimen/action_bar_height" android:background="?attr/colorPrimary" android:contentInsetStart="0dp" android:contentInsetLeft="0dp" app:contentInsetLeft="0dp" app:contentInsetStart="0dp" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> </android.support.v4.widget.DrawerLayout> 

    Spero che questo aiuti qualcuno, mi ha confuso per diversi giorni.

  • NoClassDefFoundError sul progetto di libreria esterna per Android
  • Come get immagini appropriate nel rispettivo dispositivo Android in Android Studio
  • Filtrare le righe da Cursore in modo che non si visualizzino in ListView
  • Come rilevare i cambi di torre in Android?
  • Ottenere la potenza del segnale WIFI e dati mobili
  • Evitare che la lint Android lamenta la string non tradotta
  • 9 Solutions collect form web for “Imbottitura barra degli strumenti Android API 21”

    L'inserto sinistro è causato da contentInsetStart di Toolbar che per impostazione predefinita è 16dp.

    Modificare questo valore a 72dp per allinearsi alla linea principale.

    Aggiornamento per la libreria di supporto v24.0.0:

    Per adattarsi alla specifica di Material Design c'è un contenuto aggiuntivo contentInsetStartWithNavigation che per impostazione predefinita è 16dp. Modificare questa opzione se si dispone anche di un'icona di navigazione.

    La risposta sopra è corretta ma c'è ancora una cosa che potrebbe generare problemi (alless ha creato un problema per me)

    Ho usato le seguenti e non funziona correttamente su dispositivi più vecchi –

     android:contentInsetStart="0dp" android:contentInsetLeft="0dp" app:contentInsetLeft="0dp" app:contentInsetStart="0dp" 

    Il trucco è qui solo utilizzare le seguenti –

     app:contentInsetLeft="0dp" app:contentInsetStart="0dp" 

    e sbarazzarsi di –

     android:contentInsetStart="0dp" android:contentInsetLeft="0dp" 

    E ora dovrebbe funzionare bene in tutti i dispositivi.

    Spero che sia d'aiuto.

    Nel caso in cui qualcun altro si inciampa qui … è ansible impostare anche l' imbottitura , ad esempio:

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); int padding = 200 // padding left and right toolbar.setPadding(padding, toolbar.getPaddingTop(), padding, toolbar.getPaddingBottom()); 

    O contentInset :

     toolbar.setContentInsetsAbsolute(toolbar.getContentInsetLeft(), 200); 

    Aggiungete semplicemente questa due row nella barra degli strumenti. Poi otterremo nuovo spazio rimanente sinistra bcoz per impostazione predefinita 16dp.

     android:contentInsetStart="0dp" app:contentInsetStart="0dp" 

    Fai la tua barra degli strumenti come:

     <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/menuToolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="0dp" android:background="@color/white" android:contentInsetLeft="10dp" android:contentInsetRight="10dp" android:contentInsetStart="10dp" android:minHeight="?attr/actionBarSize" android:padding="0dp" app:contentInsetLeft="10dp" app:contentInsetRight="10dp" app:contentInsetStart="10dp"></android.support.v7.widget.Toolbar> 

    Devi aggiungere

    contentInset

    attributo per aggiungere spaziatura

    segui questo link per ulteriori informazioni – Suggerimenti per Android

    Una combinazione di

    android:padding="0dp" Nel xml per la barra degli strumenti

    e

    mToolbar.setContentInsetsAbsolute(0, 0) Nel codice

    Questo ha funzionato per me.

    Ecco cosa ho fatto e funziona perfettamente su each versione di Android.

    toolbar.xml

     <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="56dp" android:background="@color/primary_color" app:theme="@style/ThemeOverlay.AppCompat" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> <TextView android:id="@+id/toolbar_title" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="16dp" <!-- Add margin --> android:layout_marginStart="16dp" android:gravity="left|center" android:text="Toolbar Title" <!-- Your title text --> android:textColor="@color/white" <!-- Matches default title styles --> android:textSize="20sp" android:fontFamily="sans-serif-medium"/> </android.support.v7.widget.Toolbar> 

    MyActivity.java (per hide il titolo della barra degli strumenti predefinita)

     getSupportActionBar().setDisplayShowTitleEnabled(false); // Hide default toolbar title 

    Risultato con i Keylines mostrati

    immettere qui la descrizione dell'immagine

    Ok, quindi se hai bisogno di 72dp, non puoi aggiungere la differenza di imbottitura nel file xml? In questo modo, mantenete gli insediamenti / imbottiture predefiniti di Androids che vogliono utilizzare.

    Così: 72-16 = 56

    Per questo: aggiungere l'imbottitura 56dp per mettervi in ​​un indent / total margin di 72dp.

    Oppure puoi modificare i valori nei file Dimen.xml. questo è quello che sto facendo adesso. Cambierà tutto, l'integer layout, incluso il ToolBar quando viene implementato nel nuovo modo Android.

    Dimen Resource File

    Il collegamento che ho aggiunto mostra i valori di Dimen a 2dp perché l'ho cambiato ma era impostato di default a 16dp. Per informazione…

     ((Toolbar)actionBar.getCustomView().getParent()).setContentInsetsAbsolute(0,0); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.