2016-07-19 286 views
5

Ho aggiornato le mie dipendenze al seguente:com.android.support:design:24.1.0 non veniva visualizzato correttamente nella barra di navigazione

com.android.support:design:24.0.0 -> com .android.support: design: 24.1.0 com.android.support:appcompat-v7:24.0.0 -> com.android.support:appcompat-v7:24.1.0

Ho aggiornato anche la compilazione strumenti alla versione 24.0.1.

Tuttavia dopo che, il mio cassetto navigazione sembra non va bene, come potete vedere qui:

con la vecchia versione sembra che:

Avete qualche idea che cos'è questo errore o è il nuovo standard?

Grazie per ogni risposta.

risposta

6

Sembra che sia un bug nella nuova libreria di progettazione supporto Android, controllare this thread in AOSP problema tracker, come accennato c'è un bug con sfondo elemento controllato - utilizza colorPrimaryDark.

Fino a quando non sarebbe stato risolto ho trovato probabilmente brutto e forse irrilevante in futuro, ma semplice soluzione - NavigationView utilizza colorPrimaryDark per evidenziare la voce di fondo, in modo che possiamo semplicemente ignorare la sua android:theme con cambiato colorPrimaryDark a quello che abbiamo bisogno, nel nostro caso è grigio.

Quindi, primo luogo aggiungere un nuovo stile al vostro styles.xml:

<style name="NavigationViewGraySelectorTheme" parent="AppTheme"> 
    <!-- Extract this color to colors.xml --> 
    <item name="colorPrimaryDark">#ddd</item> 
</style> 

E poi semplicemente utilizzare nel vostro widget di NavigationView:

<android.support.design.widget.NavigationView 
    android:id="@+id/nav_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:fitsSystemWindows="true" 
    android:theme="@style/NavigationViewGraySelectorTheme" 
    app:headerLayout="@layout/nav_header_main" 
    app:itemIconTint="@color/nav_view_icon_color" 
    app:itemTextColor="@color/nav_view_text_color" 
    app:menu="@menu/activity_main_drawer"/> 

UPDATE:

Come Chris Banes menzionato nello AOSP issue thread, il problema verrà risolto con la versione 24.1.1 di rilascio della libreria di supporto.

+0

Ho approssimativamente un problema simile. Le selezioni nel mio cassetto di navigazione sono fatte con colorAccent invece di colorPrimaryDark, ma questa soluzione non funziona per me. Ho aggiunto NavigationViewGraySelectorTheme in styles.xml e v21 \ styles.xml e ho modificato il tema per NavigationView, ma continua a riempire completamente l'elemento selezionato con colorAccent dell'app. Ho provato a menzionare colorPrimaryDark e colorAccent in NavigationViewGraySelectorTheme – Sourabh86