5

Nel tentativo di impostare la posizione della mia icona di navigazione indietro nella mia barra degli strumenti estesa come segue:Toolbar gravità per barra degli strumenti estesa

<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    app:theme="@style/Toolbar" 
    android:minHeight="@dimen/action_bar_height" 
    app:buttonGravity="top" 
    android:gravity="top" 
    android:background="?attr/colorPrimary" /> 

Controllo delle fonti di barra degli strumenti che possiamo vedere il seguente:

private void ensureNavButtonView() { 
    if (mNavButtonView == null) { 
     mNavButtonView = new ImageButton(getContext(), null, 
      R.attr.toolbarNavigationButtonStyle); 
     final LayoutParams lp = generateDefaultLayoutParams(); 
     lp.gravity = GravityCompat.START | (mButtonGravity & Gravity.VERTICAL_GRAVITY_MASK); 
     mNavButtonView.setLayoutParams(lp); 
    } 
} 

Dove mButtonGravity viene assegnato tramite

mButtonGravity = a.getInteger(R.styleable.Toolbar_buttonGravity, Gravity.TOP); 

Quindi la lettura di questo correttamente, t la gravità della mia barra degli strumenti dovrebbe già essere Gravity.TOP se non è configurato nulla. Tuttavia sembra che questo:

enter image description here

+0

Si prega di incollare l'intero xml qui – Gaskoin

risposta

12

ho giocato un po 'intorno e testato un paio di combinazioni e può dire la gravità di quel pulsante e android:minHeight non vogliono essere amici.

Questo dovrebbe funzionare bene:

<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar" 
    android:layout_height="@dimen/action_bar_height" 
    android:layout_width="match_parent" 
    app:theme="@style/Toolbar" 
    android:minHeight="?attr/actionBarSize" 
    android:gravity="top" 
    android:background="?attr/colorPrimary" /> 
+5

+1 Questa è la risposta corretta. Non permettere a 'minHeight' di controllare la tua barra degli strumenti, rovinerà le misure di gravità. Impostare sempre il valore 'MinHeight' sulle dimensioni predefinite e impostare il lato esteso come altezza del layout. – Devunwired

4

Se si desidera che l'icona in alto e il titolo sul fondo si può provare qualcosa di simile:

<Toolbar 
    android:id="@+id/toolbar" 
    android:layout_height="128dp" 
    android:layout_width="match_parent" 
    android:minHeight="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:gravity="bottom" /> 

Utilizzando l'attributo android:minHeight come il actionBarSize standard, i pulsanti e le azioni sono posizionati in alto. Mentre si utilizza l'attributo android:gravity è possibile impostare la posizione del titolo in basso.

+1

come posizionare il titolo adiacente alla freccia posteriore? –

Problemi correlati