0

이 글을 쓰기 전에 나는 stackoverflow에서 찾은 다른 해결책을 구현하려고하지만 아무 것도 제대로 작동하지 않습니다.안드로이드 (NavigationDrawer)에서 햄버거 아이콘을 변경하는 방법

사용자 정의 탐색 창을 사용하는 Android applucation을 개발 중이며, 작업 표시 줄의 표준 아이콘 (현재는 툴바입니다)과 설정 아이콘을 변경해야합니다.

내 코드입니다 :

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     toolbar.setTitleTextColor(Color.parseColor("#009754")); 
     setSupportActionBar(toolbar); 

     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
     drawer.setDrawerListener(toggle); 
     toggle.syncState(); 

     NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
     navigationView.setNavigationItemSelectedListener(this); 
    } 

그리고 이것은 내가 구현하려고 할 것입니다 :

이 솔루션은 작동하지 :

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
toolbar.setTitleTextColor(Color.parseColor("#009754")); 
toolbar.setNavigationIcon(R.drawable.ic_draw); 
setSupportActionBar(toolbar); 

는이 솔루션이 작동하지 :

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(false); 
toggle.setDrawerIndicatorEnabled(false); 
toggle.setHomeAsUpIndicator(R.drawable.ic_custom_drawer_icon); 

언더가 없습니다. 다음

toggle.setDrawerIndicatorEnabled(false); 

과 : 내가 아이콘을 변경할 수없는 이유 TAND, 나는 문제가 무엇 아무 생각 ... ActionBarDrawerToggle에 대한

답변

2

간단하고 우아한 솔루션

장소

getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeAsUpIndicator(R.drawable.dashboardicon); // 당신의 아이콘 도구 모음에서 그것은 어떤 setNavigationOnClickListener()

1

사용 안 함 표시가없는

toolbar.setNavigationIcon(R.drawable. ic_custom_drawer_icon); 
+1

그런 다음'setNavigationOnClickListener을 (호출하여 사용자 정의 리스너를 추가 필요 나던)': 여기

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer,toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.addDrawerListener(toggle); toggle.syncState(); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeAsUpIndicator(R.drawable.dashboardicon); navigationView= (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); 

주 탐색 활동에

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer,toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.addDrawerListener(toggle); toggle.syncState(); 

전체 솔루션 후 여기에 언급 된 바와 같이 (https://stackoverflow.com/a/32695966/876267). – Mehmed