web-dev-qa-db-fra.com

Définir la couleur d'arrière-plan du tiroir de navigation

Je voulais définir la couleur d'arrière-plan de mon tiroir de navigation dans Java mais il semble que setBackgroundColor et toutes les méthodes similaires n'ont aucun effet. Seule la ligne XML Android:background="@color/mycolor" travaille. Si vous supprimez la ligne xml et essayez l'une des méthodes, le tiroir reste transparent.

Des idées?

34
mike.b93

Je viens de résoudre mon propre problème.

J'ai totalement oublié que ce n'est pas le DrawerLayout sur lequel je veux définir l'arrière-plan, mais le ListView à l'intérieur.

J'avoue que j'ai rendu les choses un peu difficiles pour vous sans ajouter de code à mon post -.- '

Donc au lieu de:

private DrawerLayout mDrawerLayout;
(...)
mDrawerLayout.setBackgroundResource(int);

Je devais faire ça:

private ListView mDrawerList;
(...)
mDrawerList.setBackgroundResource(int);
26
mike.b93

Dans votre activity_main.xml, incluez les éléments suivants

<Android.support.design.widget.NavigationView
    Android:id="@+id/navigation_view"
    Android:layout_width="wrap_content"
    Android:layout_height="match_parent"
    Android:layout_gravity="start"
    app:headerLayout="@layout/navigation_drawer_header"
    app:menu="@menu/menu_drawer"
    Android:background="@color/color_navigation_list_background"
    app:itemIconTint="@color/color_selector_navigation_item"
    app:itemTextColor="@color/color_selector_navigation_item"/>
68
Goodlife

cassez votre tiroir de navigation en navigationView et procédez comme suit

 navigationView.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
2
Walid Al Ashik