1. 개요

안드로이드 스튜디오에서 제공하는 navigation drawer에 추가한 메뉴들은 기본적으로 테마의 영향을 받으며 색상변경이 자유롭게 되지 않는다.

각 아이콘의 색을 변경 할 필요가 있을 때 해결 방법이다.

그림1. Navigation drawer (출처:https://developer.android.com/guide/navigation/navigation-ui)

2. 해결 방법

다음의 한줄로 해결이 가능하다.

findViewById(R.id.nav_view).setItemIconTintList(null);

위의 코드를 onCreate()에 추가 한 후 다음 과 같이 색이 다른 이미지로 아이콘을 추가하면 색상이 살아나게 된다.

1
2
3
4
5
6
int[] icons = new int[]{R.drawable.ic_disk1, R.drawable.ic_disk2, R.drawable.ic_disk3};            
for (index = 0; index < users.size(); index++) {
    UserInfo userinfo = users[index];
    MenuItem user = menu.add(R.id.user_menu, Menu.NONE, index, userInfo.id);
    user.setIcon(icons[index % 3]);
}
cs

 

 

그림2. Navigation drawer에 색상이 반영된 icon

 

출처 : https://stackoverflow.com/questions/33407448/change-color-of-navigation-drawer-icon-in-android-studio-default-template/62075034#62075034?newreg=a157ba9e1bdc4cdf943858021f8d66c6 

 

Change color of Navigation Drawer Icon in Android Studio default template

The new default Navigation Drawer Activity template in Android Studio defines its titles and icons in a menu file activity_main_drawer like this: ...

stackoverflow.com

 

+ Recent posts